启用nacos作为配置中心
适用版本:3.4.2+;
nacos建议使用1.3.2版本,1.4.x、2.0.x版本存在集群问题;
https://github.com/alibaba/nacos/issues/5344
https://github.com/alibaba/nacos/issues/5346
安装启动Nacos
1.下载nacos;
2.启动nacos,如下图;
详情请看官网:https://nacos.io/zh-cn/docs/quick-start.html
切换依赖
在ibps-basic-discovery
中进行启用
1.打开pom文件
2.去掉ibps-basic-config-nacos
依赖的可选配置optional
修改前:
结果:
<dependency>
<groupId>com.lc.ibps.cloud</groupId>
<artifactId>ibps-basic-config-nacos</artifactId>
<optional>true</optional>
</dependency>
修改后:
<dependency>
<groupId>com.lc.ibps.cloud</groupId>
<artifactId>ibps-basic-config-nacos</artifactId>
</dependency>
注:zuul/gateway/oauth2Server/platform/business已经默认引用ibps-basic-discovery项目,不要手动添加该项目的依赖,自建项目如果接入需要显式依赖该项目;
修改配置
1.各个项目中修改*/src/main/resources/config/bootstrap.yml文件,将server-addr修改nacos的地址,如改成172.20.0.1:8848;
4.登陆nacos,添加命名空间ibps,地址是http://172.20.0.1:8848/nacos/index.html 默认账号密码是nacos
nacos配置规则
nacos里面的配置规则是${prefix}-${spring.profile.active}.${file-extension}
示例1:ibps-gateway-provider.yml ==> gateway项目的application.yml
示例2:ibps-gateway-provider-dev.yml ==> gateway项目的application-dev.yml
以Gateway为例
nacos配置中心
ibps-common-provider.yaml,公共配置,邮箱、应用版本等信息
ibps-common-base-provider.yaml,公共基础配置,redis、mq等连接等信息
ibps-common-nacos-provider.yaml,nacos服务发现配置
ibps-gateway-base-provider.yaml,网关基础配资,超时熔断等信息
ibps-gateway-provider.yaml,网关应用配置,端口、连接池配置等信息
删除本地其他yml文件
bootstrap.yml配置内容
spring: application: name: ibps-gateway-provider main: allow-bean-definition-overriding: true #暂时使用旧的引入多配置方式,后面再处理 allow-circular-references: true #暂时先允许循环引用,后面再清理业务。做规范 config: use-legacy-processing: true cloud: nacos: config: enabled: ${NACOS_CONFIG_ENABLED:true} server-addr: ${NACOS_CONFIG_SERVER_ADDR:192.168.3.240:8848} # 填写命名空间ID!!! namespace: ${NACOS_CONFIG_NAMESPACE:ibps} group: ${NACOS_CONFIG_GROUP:test} prefix: ${spring.application.name} file-extension: yaml enable-remote-sync-config: true extension-configs: - data-id: ibps-common-provider.yaml group: ${spring.cloud.nacos.config.group} - data-id: ibps-common-base-provider.yaml group: ${spring.cloud.nacos.config.group} - data-id: ibps-common-nacos-provider.yaml group: ${spring.cloud.nacos.config.group} - data-id: ibps-gateway-base-provider.yaml group: ${spring.cloud.nacos.config.group}