nacos配置的加载顺序
配置中心
1、架构:https://nacos.io/zh-cn/docs/architecture.html,配置文档参考 https://github.com/alibaba/spring-cloud-alibaba/wiki/Nacos-config
2、测试本地环境nacos:http://172.24.30.231:8848/nacos 用户名:nacos
3、配置文件加载优先级:a < b1 < b2 < c1 < c2 < d1 < d2 < e < f
a、application.properties
b1、bootstrap.properties
b2、bootstrap-{profile}.properties
c1、通过 spring.cloud.nacos.config.shared-configs[1].data-id
支持多个共享 Data Id 的配置
c2、通过 spring.cloud.nacos.config.shared-configs[n].data-id
支持多个共享 Data Id 的配置
d1、通过 spring.cloud.nacos.config.extension-configs[0].data-id
的方式支持多个扩展 Data Id 的配置
d2、通过 spring.cloud.nacos.config.extension-configs[n].data-id
e、通过内部相关规则(应用名、应用名+ Profile )自动生成相关的 Data Id 配置 ,如 scrm-base-service.properties
f、VM option
spring bootstrap.properties和application.properties的 优先级https://blog.csdn.net/howeres/article/details/120581197
注意:
1、配置中有相同的配置,后加载优先,如 xxx.properties ,中都有abc变量,假设abc=1在第一行,abc=5在第10行,则会abc=5生效
2、extension-configs和shared-configs加载的配置必须要有扩展名,只支持properties和yaml
4、通过 Spring Cloud 原生注解 @RefreshScope
实现配置自动更新
5、需要注意group。servername和group同时匹配才会被调用
6、share的说明,shared-configs可以复用公共配置 https://github.com/alibaba/spring-cloud-alibaba/issues/141
7、如果自己的配置和别人一样,可以自己建立namaspace可以直接用已经有的,需要注意配置中心config和注册中心discovery是分开配置的
注册中心:
1、注册中心的参考https://github.com/alibaba/spring-cloud-alibaba/wiki/Nacos-discovery
2、场景:社群scrm-community-servce同时调用service-a服务和service-b
1、namespace隔离,自己创建namespace和group隔离,需要自己启动3个两个服务,复杂的调试场景可选用这种,自己启动服务可用docker创建。
2、修改下游服务service-a暴露接口的feignClient上的url,没有url表示服务名发现,这种情况下回去注册中心取ip,添加我们自己的url,相当于自己指定了服务ip
3、修改下有服务的service-a的feignClient上的name,自己启动的服务