微服务基础:SpringCloud Alibaba-Nacos配置中心:初步

 参考地址:

 https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md

如何接入

  1. 首先,修改 pom.xml 文件,引入 Nacos Config Starter。
  2.  <dependency>
         <groupId>com.alibaba.cloud</groupId>
         <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
     </dependency>
    
  3.  在应用的 /src/main/resources/bootstrap.properties 配置文件中配置 Nacos Config 元数据
  4.  spring.application.name=nacos-config-example
     spring.cloud.nacos.config.server-addr=127.0.0.1:8848
    

  5. 完成上述两步后,应用会从 Nacos Config 中获取相应的配置,并添加在 Spring Environment 的 PropertySources 中。这里我们使用 @Value 注解来将对应的配置注入到 SampleController 的 userName 和 age 字段,并添加 @RefreshScope 打开动态刷新功能

 @RefreshScope
 class SampleController {

 	@Value("${user.name}")
 	String userName;

 	@Value("${user.age}")
 	int age;
 }

做一个测试:

在controller中进行使用刚定义的配置项: 

启动模块

问题需求:修改application.properties的配置项内容,需要重新打包、上传部署、浏览,如果部署多台主机,要分别上传。维护困难。

用配置中心解决:

进入nacos管理界面:

 

能够浏览,看到配置项的值

接下来:

 再次浏览,希望看到配置项的值得变化。但是实际上没有发生变化

解决办法:进到controller里面

 重启模块服务,再次浏览,可以发现变化。

总结一下:

 * 1、如何使用Nacos作为配置中心统一管理配置
 *
 * 1)、引入依赖,
 *         <dependency>
 *             <groupId>com.alibaba.cloud</groupId>
 *             <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
 *         </dependency>
 * 2)、创建一个bootstrap.properties。
 *      spring.application.name=gulimall-coupon
 *      spring.cloud.nacos.config.server-addr=127.0.0.1:8848
 * 3)、需要给配置中心默认添加一个叫 数据集(Data Id)gulimall-coupon.properties。默认规则,应用名.properties
 * 4)、给 应用名.properties 添加任何配置
 * 5)、动态获取配置。
 *      @RefreshScope:动态获取并刷新配置
 *      @Value("${配置项的名}"):获取到配置。
 *      如果配置中心和当前应用的配置文件中都配置了相同的项,优先使用配置中心的配置。

猜你喜欢

转载自blog.csdn.net/lm19770429/article/details/120628086