Nacos 配置中心

小明 2025-05-02 14:22:06 7

上���:Nacos Server 集群搭建

目录

  • 添加配置集
    • 实时刷新配置项
    • 监听查询
    • dataId扩展
    • dataId优先级问题

      添加配置集

      • 在nacos 配置中心新建即可

        实时刷新配置项

        • 依赖
           com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config 
          • 修改配置文件application.yml 为bootstrap.yaml
          • 添加config配置

            server: port: 8083 spring: application: name: m-service-resume datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8 &serverTimezone=UTC username: root password: root jpa: database: MySQL show-sql: true hibernate: naming: physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl #避免将驼峰命名转换为下划线命名 cloud: nacos: discovery: server-addr: 127.0.0.1:8848,127.0.0.1:8849,127.0.0.1:8850 #集群名称 cluster-name: BJ #所属命名空间 namespace: 59486577-18d5-459c-94ad-cbdf6f3d9d5a #nacos config 配置 config: server-addr: 127.0.0.1:8848,127.0.0.1:8849,127.0.0.1:8850 namespace: 59486577-18d5-459c-94ad-cbdf6f3d9d5a group: DEFAULT_GROUP file-extension: yaml 
            • 获取配置config类,添加@RefreshScope 注解
              @RestController @RequestMapping("/config") //实时刷新注解 @RefreshScope public class ConfigController { @Value("${my.message}") private String myMessage; @Value("${mysql.url}") private String mysqlUrl; @GetMapping("/viewconfig") public String viewconfig() { return "msg==>" + myMessage + " mySqlUrl=>" + mysqlUrl; } } 
              • 访问

                • 修改配置中的内容,100为200

                • 实时刷新完成

                  监听查询

                  • nacos配置中心

                    dataId扩展

                    从nacos中 获取多个配置文件

                    • 在nacos 创建多个配置文件abc.yaml、def.yaml

                      • 获取多个配置文件

                         cloud: nacos: discovery: config: server-addr: 127.0.0.1:8848,127.0.0.1:8849,127.0.0.1:8850 namespace: 59486577-18d5-459c-94ad-cbdf6f3d9d5a group: DEFAULT_GROUP file-extension: yaml #获取多个配置文件 ext-config[0]: data-id: abc.yaml group: DEFAULT_GROUP refresh: true #扩展dataId 的动态刷新 ext-config[1]: data-id: def.yaml group: DEFAULT_GROUP refresh: true 
                        • 重启服务

                        • 修改nacos中的配置重新访问接口(扩展配置文件动态刷新)

                          dataId优先级问题

                          优先级:根据规则⽣成的dataId > 扩展的dataId(对于扩展的dataId,[n] n越⼤优先级越⾼)

                          • 将m-service-resume.yaml 中的my.message配置copy 到abc.yaml、def.yaml 数字修改为300 ,400

                          • 重启项目,结果

                          • 扩展的配置文件之间的优先级,新建配置项

                          • 结果

The End
微信