【集成-Nacos】SpringBoot集成Nacos
注意:以下主要演示动态配置
Nacos 是什么?
Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
什么是动态配置?
举个例子,比如application.yml 中写的配置需要修改,那么我们一般会修改代码,然后打包镜像部署服务。我们有没有一种方案,直接在程序运行时修改配置呢?有,那就是动态配置。
springboot集成Nacos
- 依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-config-spring-boot-starter</artifactId>
<version>0.2.1</version>
</dependency>
- 配置Nacos地址 application.yaml
spring:
application:
name: nacos-config-client
nacos:
discovery:
server-addr: localhost:8848
config:
server-addr: localhost:8848
file-extension: yaml
- 启动类添加注解
@SpringBootApplication
@NacosPropertySource(dataId = "Test", autoRefreshed = true)
public class NacosConfigApplication {
public static void main(String[] args) {
SpringApplication.run(NacosConfigApplication.class, args);
}
}
- 程序中使用
@RestController
@RequestMapping("config")
public class ConfigController {
@NacosValue(value = "${userName:zhang}", autoRefreshed = true)
private String userName;
@RequestMapping(value = "/get", method = RequestMethod.GET)
@ResponseBody
public String get() {
return userName;
}
}
- 测试
总结
动态配置的原理,等我看看源码。
https://blog.csdn.net/wangliangluang/article/details/127040023
本文来自博客园,作者:帅气的涛啊,转载请注明原文链接:https://www.cnblogs.com/handsometaoa/p/17196855.html