51Testing软件测试论坛

标题: SpringCloud:Nacos配置管理和Nacos集群(1) [打印本页]

作者: lsekfe    时间: 2022-7-15 09:26
标题: SpringCloud:Nacos配置管理和Nacos集群(1)
Nacos 配置管理
  统一配置管理
  当实际开发中多台使用相似配置的微服务需要修改配置的时候。按照之前的做法只能逐一修改配置重启服务。而Nacos配置管理就提供提供了统一配置管理的服务。由Nacos配置管理服务加上微服务自身的配置组成完成的微服务配置。将一些有热更新需求的配置上传至Nacos配置管理中,例如服务的功能开关和时间格式。
  Nacos创建配置管理
  我们可以在Nacos管理页面创建自己想要的配置,将其交由Nacos统一管理:
[attach]139109[/attach]
[attach]139110[/attach]
[attach]139111[/attach]
微服务获取Nacos配置
  微服务获取配置的步骤如下:
[attach]139112[/attach]
我们本来是项目启动之后直接读取本地配置文件,但现在的配置文件是由Nacos配置文件 + application本地配置文件来组成的。所以我们在读取本地配置文件之前应该先去读取Nacos配置文件。但是又因为Nacos的信息都在application本地配置文件中。所以我们需要在比application优先级高的bootstrap配置文件中为项目指明Nacos的地址,先读取Nacos配置文件,再读取application配置文件。
  接下来我们就到 Springcloud看看微服务如何获取Nacos配置吧。
  1、导入依赖
  1. <!--nacos配置管理依赖-->
  2.   <dependency>
  3.       <groupId>com.alibaba.cloud</groupId>
  4.       <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
  5.   </dependency>
复制代码
2、创建bootstrap配置文件
  服务名称 + 开发环境 + 文件后缀名 = Nacos配置ID
  1. spring:
  2.     application:
  3.       # 服务名称
  4.       name: userservice
  5.     profiles:
  6.       #开发环境,这里是dev
  7.       active: dev
  8.     cloud:
  9.       nacos:
  10.         # Nacos地址
  11.         server-addr: localhost:8848
  12.         config:
  13.           # 文件后缀名
  14.           file-extension: yaml
复制代码
3、测试
  Nacos配置:
  1. people:
  2.     name: hyz
复制代码
代码:
  1. @Slf4j
  2.   @RestController
  3.   @RequestMapping("/user")
  4.   public class UserController {
  5.       @Value("${people.name}")
  6.       private String name;
  7.       @GetMapping("/name")
  8.       public String getName() {
  9.           return name;
  10.       }
  11.   }
复制代码
结果:
[attach]139113[/attach]
注意:bootstrap配置文件的内容决定了微服务获取的Nacos配置文件ID










欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2