系统整理springCloud系列(十二)nacos配置中心

使用Nacos作为配置中心(相当于Spring Cloud Config + Bus)

应用实例

pom

<!--nacos-config-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
        <!--nacos-discovery-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

配置文件

bootstrap.yml

server:
  port: 3377

spring:
  application:
    name: nacos-config-client
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 #服务注册中心地址
      config:
        server-addr: localhost:8848 #配置中心地址
        file-extension: yaml #指定yaml格式的配置

 

application.properties

spring:
  profiles:
    active: dev

控制器,获取一下配置文件信息

@RestController
@RefreshScope //支持controller的动态刷新
public class ConfigClientController
{
    @Value("${config.info}")
    private String configInfo;

    @GetMapping("/config/info")
    public String getConfigInfo() {
        return configInfo;
    }
}

启动类

@EnableDiscoveryClient
@SpringBootApplication
public class NacosConfigClientMain3377
{
    public static void main(String[] args) {
        SpringApplication.run(NacosConfigClientMain3377.class, args);
    }
}

 

现登陆nacos控制台

系统整理springCloud系列(十二)nacos配置中心

添加配置

${prefix}-${spring.profile.active}.${file-extension}

配置文件名为服务名+环境配置+文件类型

nacos-config-client-dev.yaml

系统整理springCloud系列(十二)nacos配置中心

 此处

系统整理springCloud系列(十二)nacos配置中心

dataid必须为全文件名后缀为.yaml

启动服务

访问

系统整理springCloud系列(十二)nacos配置中心 

系统整理springCloud系列(十二)nacos配置中心 

发布

系统整理springCloud系列(十二)nacos配置中心

 

系统整理springCloud系列(十二)nacos配置中心 

nacos配置 命名空间 dataid  组

系统整理springCloud系列(十二)nacos配置中心

Namespace+Group+Data ID三者关系?为什么这么设计 

 系统整理springCloud系列(十二)nacos配置中心

通过spring.profile.active属性就能进行多环境下配置文件的读取

新建命名空间

系统整理springCloud系列(十二)nacos配置中心 

系统整理springCloud系列(十二)nacos配置中心 系统整理springCloud系列(十二)nacos配置中心

修改配置文件

添加

server:
  port: 3377

spring:
  application:
    name: nacos-config-client
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 #服务注册中心地址
      config:
        server-addr: localhost:8848 #配置中心地址
        file-extension: yaml #指定yaml格式的配置
        group: TEST_GROUP #默认:DEFAULT_GROUP
        namespace: 8a2ee2e5-fa86-45a0-ac2b-8316aeab2ead #命名空间id 默认:public

系统整理springCloud系列(十二)nacos配置中心