spring cloud(九)统一配置config续 配置刷新

前文已经讲解过spring cloud config,看本文之前可以先查看spring cloud(八)统一配置config

一、补充说明

前文中所说的config已经实现了基本配置,但是在实际生产中,有些情况可能只需要修改某一个小的配置,如果此时将服务重新部署,代价很大,这时希望可以自动刷新配置到服务中。spring cloud提供了这样一个功能,下面简述一下。

二、代码实现

简单配置刷新只需要修改config client端即可,具体实现如下

1.添加依赖

 
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

2.修改配置

在需要刷新配置的类上添加@RefreshScope注解

需要说明的是@RefreshScope注解的意义是,在刷新配置的时候,如果被标注的配置正在使用,那么就在执行完成之后再去更新配置。此外,此注解最好不要与@Configuration注解一起使用,官方也不推荐这样用,会出现一些莫名其妙的问题。

3.刷新配置

spring cloud提供了端点/refresh ,用于刷新,所以直接调用接口/refresh即可刷新。

三、结合spring cloud bus自动刷新配置

上面已经实现了spring cloud config 的自动刷新功能,但是有个问题,在生产开发中,服务通常是多个节点集群形式,不可能一台一台服务器的去调用刷新,那么应该怎么解决这个问题呢?

spring cloud 官方已经提供了相应的解决方案,只需要结合spring cloud bus即可实现。

1.准备工作

安装rabbitmq,参考 windows下rabbit mq 安装使用  

2. config server 修改

 

 

  • 添加依赖
<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>

 

 

  • 添加rabbitmq配置
spring:
    rabbitmq:
        host: localhost
        port: 5672
        username: guest
        password: guest

3.config clinet 修改

config client 修改跟config server一样

以上修改是在原来的基础上进行修改

4.刷新配置

发送POST请求到Config server节点的的/bus/refresh端点,这样就可以了

如此,config 的自动刷新就完成了。

 

推荐一套spring cloud学习视频 下载地址:https://download.csdn.net/download/linhui258/10525913

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值