nacos分为服务端和客户端,服务端存储配置信息,客户端则向服务端获取配置信息。官方https://nacos.io/zh-cn/docs/quick-start-spring-cloud.html
服务端搭建
1.下载最新版
https://github.com/alibaba/nacos/releases
2.启动
cd nacos/bin
sh startup.sh -m standalone
客户端
1.在resources目录下创建bootstrap.properties配置文件
2.添加依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2.2.6.RELEASE</version>
</dependency>
3.在bootstrap.properties配置文件添加一下内容
#服务端地址
spring.cloud.nacos.config.server-addr=s.xunpou.com:8848
#选取哪种后缀的配置文件
spring.cloud.nacos.config.file-extension=yaml
#由于服务端存放有很多应用的配置数据,所以这个字段是用来指定哪个应用的配置
pring.application.name=study
#是否要动态更新配置文件
spring.cloud.nacos.config.refresh-enabled=false
注意事项
服务端配置文件命名可能有混乱(如哪个应用,开发环境还是生产环境,yaml还是properties等),可以通过客户端启动时的日志提示查看是否命名正确
2022-09-25 12:51:38.458 WARN 16188 --- [ main] c.a.c.n.c.NacosPropertySourceBuilder : Ignore the empty nacos configuration and get it based on dataId[sql] & group[DEFAULT_GROUP]
2022-09-25 12:51:38.499 WARN 16188 --- [ main] c.a.c.n.c.NacosPropertySourceBuilder : Ignore the empty nacos configuration and get it based on dataId[sql.properties] & group[DEFAULT_GROUP]
2022-09-25 12:51:38.548 WARN 16188 --- [ main] c.a.c.n.c.NacosPropertySourceBuilder : Ignore the empty nacos configuration and get it based on dataId[sql-prod.properties] & group[DEFAULT_GROUP]
原理
基于http协议,在客户端启动时,根据配置文件。算出远程配置文件的url,这个url一般不止一个,然后向服务端发起http请求