• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Nacos2.0 配置心管理,动态配置更新

武飞扬头像
thomas.he
帮助1

前言

Nacos除了可以做注册中心,同样可以做配置中心来使用。
当微服务部署的实例越来越多,达到数十、数百时,逐个修改微服务配置就会让人抓狂,而且很容易出错。我们需要一种统一配置管理方案,可以集中管理所有实例的配置。
当前nacos还提供了配置的历史查询以及监听、版本管理等功能,总的来说功能还是很强大的
学新通
学新通

Nacos2 Config的升级

Nacos1.0配置管理之前用 Http1.1 的 Keep Alive 模式 30s 发一个心跳模拟长链接,协议难以理解,内存消耗大,推送性能弱,因此 2.0 通过 gRPC 彻底解决这些问题,内存消耗大量降低
学新通

Confg配置的实现

启动Nacos注册中心

学新通

引入jar

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

创建项目

编写bootstrap.yml和application.yml配置文件,bootstrap的配置文件运行时级别比application要高
在springboot2020.0.0以上的版本默认不会去读取bootstrap配置文件,因此要引入

 	<!-- 2020.0.0 版本不在默认加载bootstrap 文件 -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-bootstrap</artifactId>
    </dependency>

bootstrap.yml

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

application.yml

spring:
  profiles:
    active: dev # 表示开发环境

创建config配置文件,在Nacos注册中心中

登陆nacos中创建配置文件

学新通

新建页面

学新通

  • 命名空间
    解决多环境及多租户数据的隔离问题 在多套不同的环境下,可以根据指定的环境创建不同的Namespace,实现多环境的数据隔离。 Nacos中默认提供的命名空间则是public。
  • GREOUP
    Nacos 中的一组配置集,是组织配置的维度之一,简单的说则是不同的系统或微服务的配置文件可以放在一个组里。 Nacos如果不指定Group,则默认的分组是DEFAULT_GROUP。
  • Data ID
    dataId是一个配置的唯一标识。 格式: p r e f i x − {prefix}- prefix{spring.profiles.active}.${file-extension}

创建后的效果

学新通

配置内容

config:
    info: nacos-config-client-dev.yaml,version = 4

创建Controller

@RefreshScope 必段加上,不然不会刷新配置

@RestController
@RefreshScope //支持Nacos的动态刷新功能。
public class ConfigClientController {


    @Value("${config.info}")
    private String info;

    @GetMapping("/get")
    public String get() {
        return "获取的config配置下的值为"   info;
    }
}

运行效果

学新通

刷新配置

当要修改config时,会提示更新的内容,点击【确认发布】后
学新通
学新通
控制监控内容发生变化,已经刷新了配置的值,不过注意,如把数据库的配置或者端口之类的加在配置文件中,那可能需要重启才会生效了,下图配置已更新
学新通

其他

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgaaajf
系列文章
更多 icon
同类精品
更多 icon
继续加载