概述
在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件
什么是 Nacos Config
Nacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持。使用 Spring Cloud Alibaba Nacos Config,您可以在 Nacos Server 集中管理你 Spring Cloud 应用的外部属性配置。
Spring Cloud Alibaba Nacos Config 是 Spring Cloud Config Server 和 Client 的替代方案,客户端和服务器上的概念与 Spring Environment 和 PropertySource 有着一致的抽象,在特殊的 bootstrap 阶段,配置被加载到 Spring 环境中。当应用程序通过部署管道从开发到测试再到生产时,您可以管理这些环境之间的配置,并确保应用程序具有迁移时需要运行的所有内容。
引入pom(此时springColudAlibaba版本为2.1.0,不同版本引入pom不同)
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
使用控制台发布配置
通过浏览器访问 http://127.0.0.1:8848/nacos ,访问 Nacos Server
这里我是添加过的,上个页面是我点的编辑,所以ID不能修改。
注意:** Data ID 的默认扩展名为
.properties
,希望使用 YAML 配置,此处必须指明是 .yaml
修改客户端配置
创建名为 bootstrap.properties
的配置文件并删除之前创建的 application.yml
配置文件
spring.application.name=service-consumer-config
spring.cloud.nacos.config.server-addr=192.168.28.128:8848
spring.cloud.nacos.config.file-extension=yaml
spring.application.name对应Data ID
spring.cloud.nacos.config.server-addr对应Nacos地址
spring.cloud.nacos.config.file-extension对应文件格式
注意:** Spring Boot 配置文件的加载顺序,依次为 bootstrap.properties
-> bootstrap.yml
-> application.properties
-> application.yml
,其中 bootstrap.properties 配置为最高优先级
如需动态刷新效果,必须在需要的类上贴@RefreshScope标签,才能实时刷新配置文件。