源视频地址: 视频地址
分布式配置中心: 阿波罗(重量级), nacos(轻量级), spring cloud config(没有界面不方便操作) 轻量级: -部署简单,架构设计简单,学习成本低 重量级: -体量巨大,学习成本高
本地应用
本地应用,从分布式配置中心,去读取配置文件(发送一个长链接) 读取到之后,会缓存到jvm和本地硬盘里一份 本地应用和配置中心,一直保持长链接 当配置文件放生变化*(md5|版本号)区分,将变化的结果,同时本地应用及时刷新
pom
分布式配置中心,和注册中心都部署在同一个应用
naocs使用配置中心发布规则:
data Id: (名称)默认的情况服务器名-版本.yml | properties
版本: prod,dev,test
Data Id: name-client.yaml (这个名字要跟本地文件对应上)
hahah: nananan: (这是远端)yml随便写点,一会调用
本地创建:
bootstrap.yml 优先级高
本地配置,要跟nacos上的名字一样.
bootstrap.yml :
spring: application: name: name-client cloud: nacos: discovery: server-addr: 127.0.0.1:8848 config: server-addr: 127.0.0.1:8848 group: DEFAULT_GROUP file-extension: yaml
这时调用远程,配置文件,不会实时更新
在启动类加一个注解|或者controller
@RefreshScope 开启长连接,试试读取配置文件
本地
bootstrap.yml :
spring: application: name: name-client cloud: nacos: discovery: server-addr: 127.0.0.1:8848 config: server-addr: 127.0.0.1:8848 group: DEFAULT_GROUP file-extension: yaml profiles: active: dev
线上用-dev| -prod
1 数据库创建一个nacos-config的数据库
2 Windows在下载的 文件夹 nacos-server的 config里面
有一个nacos-myqsl.sql 复制
3 执行sql
4 文件夹 nacos-server的 config里面
编辑:application.propertis
粘贴到最底下
spring.datasource.platform=mysql db.num=1 db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_devtest?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true db.user=root db.password=root
然后再次启动 bin/startup
nacos 里面就被清空了,这次在创建配置文件,就会持久化到数据库里在重启就不会丢失了



