Nacos配置管理

统一配置管理

 为什么需要Nacos进行统一配置管理?

在生产环境中有数十台甚至上百台服务器,我现在需要对这十几台甚至上百台服务器的配置文件进行修改,而且服务器中配置文件修改的内容可能是一样的,修改完配置文件后还需要对这些服务器进行重启,这样非常麻烦。

我现在希望不需要逐个配置文件去修改,只需要在一个配置文件,且修改后服务不需要重启,修改的配置文件能立即生效。这个就是配置的热更新,而实现这个功能就需要配置管理服务。

什么是配置管理服务?

配置管理服务记录微服务的核心配置,微服务启动的时候就会读取配置管理服务的配置,再与本地的配置结合作为一个完整的配置。

将来微服务有什么需要更新的配置,直接修改配置管理服务里面的配置即可,更新后无需重启服务立即生效,会自动通知微服务修改了哪些配置,实现热更新。

新建配置

Data ID:其实就是配置文件名,唯一;

                由三部分组成 【服务名】-【profile当前项目运行环境】【.】【后缀名】

                eg:userservice-dev.yaml、userservice-test.yaml

Group:组,默认就好无需修改;

配置格式:后缀名为 .yaml,那么这里就要选择 YAML;其它同理;

配置内容:统一配置的内容,将来做热更新的配置、经常变化的配置(类似开关类型的配置);并不是所有配置都有此需求,比如数据库地址配好一般都不需要改变,就不用配置到此处;

服务如何读取Nacos配置中心配置的内容呢 ?

1、服务启动后优先读取bootstrap.yml配置文件,在此文件中配置nacos地址;

2、bootstrap.yml配置文件优先级高于application.yml配置文件;

Nacos统一配置管理-配置步骤

 1、引入Nacos的配置管理客户端依赖

        <!-- Nacos的配置管理客户端依赖 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            <version>2.2.5.RELEASE</version>
        </dependency>

2、在userservice中的resource目录添加一个 bootstrap.yml 文件,这个文件是引导文件,优先级高于application.yml配置文件;

注意:认真观察配置文件,由【服务名称-开发环境.后缀名】组成的名字就是你在Nacos配置中心配置的 Data ID;

spring:
  application:
    name: userservice #服务名称
  profiles:
    active: dev #开发环境,这里是dev
  cloud:
    nacos:
      server-addr: localhost:8848 #Nocas地址
      config:
        file-extension: yaml #文件后缀名

如何知道服务真的从Nacos配置中心中读取到配置了呢 

在userservice服务控制层,编写读取配置文件的代码,测试; 

 

将配置交给Nacos管理的步骤-总结 

1、在Nacos中添加配置文件

2、在微服务中引入nacos的config依赖

3、在微服务中添加bootstrap.yml,配置nacos地址、当前环境、服务名称、文件后缀名。这些决定了程序启动时去nacos读取哪些文件。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值