Spring Cloud Alibaba系列之二Nacos配置中心
Nacos的特性之一就是动态服务配置,替代了Spring Cloud Config,但在使用上确实异常的简单。
一、启动Nacos服务
Nacos服务启动安装可参考: Spring Cloud Alibaba系列之一Nacos安装及服务注册。
二、编写服务读取配置
创建SpringBoot服务加入相应依赖及配置文件即可。
- 1、创建服务
Spring Cloud Alibaba系列之二Nacos配置中心 - 2、编写配置文件application.yml
spring:
profiles:
active: devserver:
port: 8082
spring:
application:
name: nacos-config-client
cloud:
nacos:
discovery:
server-addr: localhost:8848 #服务注册中心地址
config:
server-addr: localhost:8848 #配置中心地址
file-extension: yaml #指定yaml格式的配置
profiles:
active: dev
- 3、Nacos上创建配置信息
Spring Cloud Alibaba系列之二Nacos配置中心 Spring Cloud Alibaba系列之二Nacos配置中心 - 4、编写访问接口
package com.zero.cloud.controller;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author zero
* @description ConfigClientController
* @date 2021/8/1 16:57
*/
@RestController
@RefreshScope
public class ConfigClientController {
@Value("${config.info}")
private String configInfo;
@GetMapping("/config/info")
public String getConfigInfo() {
return configInfo;
}
}
- 5、启动服务访问接口
Spring Cloud Alibaba系列之二Nacos配置中心 Spring Cloud Alibaba系列之二Nacos配置中心
三、配置动态更新
修改Nacos上的配置,再次请求接口,发现获取到数据是实时更新的。
四、配置规则
根据官网配置规则说明,服务启动之后在NacosServer上查找配置文件的规则如下:
${spring.application.name}-${spring.profile.active}.${spring.cloud.nacos.config.file-extension}
- 前缀默认为项目名
- 中间部分可以根据不同环境配置不同profile,如果没有,则忽略
- 后缀需要指定的格式,可以在配置文件中配置
同时Nacos提供了namespace,结合Group可以达到不同配置之间的隔离,类似于Java中Package的作用。namespace默认是public,Group默认是DEFAULT_GROUP。
至此,SpringCloudAlibaba Nacos配置中心就搭建完毕,以上绝大部分信息都可以在官网找到~,戳:SpringCloudAlibaba官方文档。