七天学会SpringCloud分布式微服务——04——Nacos配置中心
本文介绍了Nacos配置中心的动态刷新与数据隔离功能。主要内容包括:1)当Nacos与本地配置冲突时,Nacos配置优先生效;2)通过配置类绑定实现配置动态刷新,无需重启服务;3)使用监听器实时获取配置变更;4)通过命名空间实现多环境隔离,通过Group区分不同微服务。文章提供了具体实现步骤,包括依赖引入、配置绑定、监听器编写等关键代码示例,帮助开发者快速掌握Nacos配置中心的核心功能。
·

1、一个问题:如果Nacos数据集中的配置和微服务项目存在相同的配置,哪一个生效
2、配置中心——动态刷新

2.1 第一种不推荐
2.2 第二种使用步骤
- services 引入依赖
<!--配置中心-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
- order 微服务yaml文件增加
spring:
application:
name: service-order
config: # 此处为增加内容,也就说,我们要为该微服务在nacos种创建配置文件
import:
- nacos:service-order.yaml # 这里注意数组要加-
- 在nacos中创建service-order.yaml 配置文件


- 现在配置好文件了,动态刷新实现

OrderYaml.java文件 建立配置文件属性的对应 类,驼峰映射
package com.zhenbang.yaml;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "order")
@Data
public class OrderYaml {
String timeout;
String autoConfirm;
}
- OrderController 编写,注入类,直接动态的刷新获取数据
@Resource
OrderYaml orderYaml;
@GetMapping("/config")
public String config() {
/*1return timeout+","+autoConfirm;*/
return orderYaml.toString();
}
3、配置中心——实时监听配置更改
/**
* springboot项目启动后开启监听
* @param nacosConfigManager
* @return
*/
@Bean
ApplicationRunner applicationRunner(NacosConfigManager nacosConfigManager) {
return args -> {
System.out.println("=========");
ConfigService configService = nacosConfigManager.getConfigService();
configService.addListener("service-order.yaml", "DEFAULT_GROUP", new Listener() {
@Override
public Executor getExecutor() {
return Executors.newFixedThreadPool(4);
}
@Override
public void receiveConfigInfo(String s) {
System.out.println("变化的配置信息"+s);
}
});
};
}
4、配置中心——数据隔离
怎么区分多套环境(命名空间)
怎么区分多种微服务(Group)
更多推荐


所有评论(0)