【微服务】配置管理

配置管理

将微服务集群中常用,经常变化的配置都写到一个独立的配置文件微服务中进行统一管理

配置共享

在Nacos的界面当中进行配置管理,在配置列表中添加配置
比如各个服务中的jdbc的连接配置:
在这里插入图片描述
还有比如日志配置
添加之后需要拉取配置服务到微服务项目中
在这里插入图片描述

在未来的微服务启动的时候,首先根据SpringCloud框架拉取Nacos中的共有配置初始化Spirng容器,然后再根据SpringBoot加载自己的配置信息,再次初始化Spring容器,但是由于Nacos的地址配置存在于本地的配置文件中,所以需要再SpringCloud中创建一个bootstrap配置文件作为引入文件,从它开始进行读取

完成拉取配置文件需要引入依赖:

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

在配置文件的微服务中配置bootstrap.yaml

spring:
 application:
    name: 服务名称
 cloud:
    nacos:
      server-addr: 服务器地址 
      config:
        file-extension: yaml #文件名称后缀
        shared-configs: #共享配置
         -dataId: shared-jdbc.yaml #共享的数据库相关配置
         -dataId: shared-log.yaml #共享的日志配置

由于SpringCloud Config的依赖进行自动配置后,项目启动会自动将本地的配置文件中的配置信息将Nacos中拉取下来的配置信息占位符进行替换

配置热更新

当修改配置文件中的配置时,微服务无需重启即可使配置生效

前提条件:

  1. nacos中需要一个与微服务名称相关的配置文件
    在这里插入图片描述
  2. 微服务中需要通过特定的方式读取热配置文件
    @ConfigurationProperties(prefix="文件名称")
@Data
@ConfigurationProperties(prefix="服务名")
public class test{
   //对应的属性
}

或者通过@Value进行注解

@Data
@RefreshScope    //注解表名该属性需要热更新
public class test{
   @Value("${属性名}")
   //属性
}
  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值