05_Nacos-config配置中心介绍

Nacos-config配置中心介绍

Nacos提供用于存储配置和其他元数据的 key-value存储,为分布式系统中的外部化配置提供服务器端和客户端支持。使用Sping Cloud Alibaba Nacos Config,您可以在nacos server集中管理你Spring Cloud应用的外部属性配置。

在这里插入图片描述

1.维护性 2. 时效性 3.安全性

Nacos-config配置管理界面

界面化操作

在这里插入图片描述

Nacos-config权限管理

启动权限:修改application.properties

nacos.core.auth.enabled=true

Nacos-config Client读取配置

1.启动nacos 环境搭建在这里插入图片描述

1.创建maven项目config-nacos,导入依赖

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

2.编写启动类

@SpringBootApplication
public class ConfigApplication {
    public static void main(String[] args) {
        ConfigurableApplicationContext applicationContext = SpringApplication.run(ConfigApplication.class, args);
        String userName = applicationContext.getEnvironment().getProperty("user.name");
        String userAge = applicationContext.getEnvironment().getProperty("user.age");
        System.err.println("user.name:"+userName+";age: "+userAge);
    }
}

3.配置文件 application.yml

server:
  port: 8050

在运行此 Example之前,必须使用bootstrap.properties(yml)配置文件来配置Nacos Server地址,例如:

配置文件bootstrap.yml

spring:
  application:
    #会自动根据服务名拉取Dataid对应的配置文件,如果不一致,需要手动指定Dataid
    name: com.tian.order
  cloud:
    nacos:
      server-addr: 127.0.0.1:8848
      username: nacos
      password: nacos
      config:
        namespace: public

4.启动控制台输出

user.name:田小泽;age: 22

一旦更改管理界面的信息,那么就会即刻感知

Nacos-config—其他扩展配置

spring:
  application:
    #会自动根据服务名拉取Dataid对应的配置文件,如果不一致,需要手动指定Dataid
    name: com.tian.order
  cloud:
    nacos:
      server-addr: 127.0.0.1:8848
      username: nacos
      password: nacos
      config:
        namespace: public  # 默认就是public不用配置省的一直打印信息
        #nacos客户端不配置 默认是properties文件扩展名
        #file-extension: yaml  用这个修改默认配置
        #group: tian #更加细分
        shared-configs:   # 手动指定Dataid
          - data-id: com.tian.common01.properties  #相当于下标0
            refresh: false # 不动态感知 修改配置文件它不知道 一般不改,默认为true
          - data-id: com.tian.common02.properties  #相当于下标1
            refresh: true
        extension-configs[0]:
          data-id: com.tian.common03.properties
          refresh: true

# 配置文件的优先级(优先级大的会覆盖优先级小的,并且会形成互补)
#profile > 默认配置文件 >extension-configs(下标越大优先级越大) > shared-configs(下标越大优先级越大)

Nacos-config—@RefreshScope

@Value注解可以获取到配置中心的值,但是无法动态感知修改后的值,需要利用@RefreshScope注解

@RestController
@RefreshScope
public class TestController{
    @value("${common.age}")
    private String age;
    
    @GetMapping("/common")
    public String hello(){
        return age;
    }
    
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值