网站建设公司发展方向及趋势,最新章节 62.一起来做网站吧,做网站 图片素材怎么找,山东省住房和城乡建设厅【Spring Cloud Alibaba】007-Nacos 配置* 文章目录【Spring Cloud Alibaba】007-Nacos 配置*一、概述1、概述2、对比 spring cloud config二、基本使用1、在管理界面新建配置2、启动权限3、 搭建 nacos-config 服务第一步#xff1a;引入依赖第二步#xff1a;修改 yaml 配置…【Spring Cloud Alibaba】007-Nacos 配置* 文章目录【Spring Cloud Alibaba】007-Nacos 配置*一、概述1、概述2、对比 spring cloud config二、基本使用1、在管理界面新建配置2、启动权限3、 搭建 nacos-config 服务第一步引入依赖第二步修改 yaml 配置文件第三步修改启动类第四步运行测试image-20230223162512852三、动态获取最新配置四、配置中心原理一、概述
1、概述 参考https://github.com/alibaba/spring-cloud-alibaba/wiki/Nacos-config Nacos 提供用于存储配置和其他元数据的 key/value 存储为分布式系统中的外部化配置提供服务器端和客户端支持。使
用 Spring Cloud Alibaba Nacos Config您可以在 Nacos Server 集中管理你 Spring Cloud 应用的外部属性配置。 2、对比 spring cloud config
spring cloud config 大部分场景结合 git 使用动态变更还需要依赖 Spring Cloud Bus 消息总线来通过所有的客户端变化spring cloud config不提供可视化界面nacos config 使用长轮询更新配置一旦配置有变动后通知 Provider 的过程非常的迅速, 从速度上秒杀 spring cloud 原来的 config 几条街。 二、基本使用
1、在管理界面新建配置 参考https://nacos.io/zh-cn/docs/concepts.html Namespace代表不同环境如开发、测试、生产环境。 Group代表某项目如XX医疗项目、XX电商项目 DataId每个项目下往往有若干个工程微服务每个配置集(DataId)是一个工程微服务的主配置文件 2、启动权限 3、 搭建 nacos-config 服务 通过 Nacos Server 和 spring-cloud-starter-alibaba-nacos-config 实现配置的自动变更 第一步引入依赖
!-- spring‐cloud‐starter‐alibaba‐nacos‐config --
dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-config/artifactId
/dependency第二步修改 yaml 配置文件 参考文章https://www.modb.pro/db/390266 spring:application:name: order-servicecloud:nacos:server-addr: localhost:8848discovery:username: nacospassword: nacosnamespace: publicconfig:group: DEFAULT_GROUPserver-addr: localhost:8848username: nacospassword: nacos、# 新版命名空间不能使用 publicnamespace: 74065c76-2e4e-44ba-935e-a6f88f44f83cconfig:import:- optional:nacos:test.yaml第三步修改启动类
public static void main(String[] args) {ConfigurableApplicationContext context SpringApplication.run(OrderApplication.class, args);String name context.getEnvironment().getProperty(user.name);String age context.getEnvironment().getProperty(user.age);System.out.println(name is name , age is age);
}第四步运行测试 三、动态获取最新配置
Value 注解可以获取到配置中心的值但是无法动态感知修改后的值需要利用 RefreshScope 注解
RestController
RefreshScope
public class TestController {Value(${user.nickname})private String nickname;GetMapping(/user)public String hello() {return nickname;}
}四、配置中心原理