Spring-Cloud-config【配置实时更新】

  1. 使用spring cloud config每次更改配置后,都需要重启服务才能更新配置,这样肯定是不行的,spring cloud支持通过AMQP来实现配置的实时更新。
  2. 如果要使用spring cloud的amqp,需要安装rabbitmq。rabbitmq的默认用户和密码都是guest,而默认端口是5672
    在config-server和client-a两个模块下的pom文件添加
<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
 
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
  1. 这里说明下spring-boot-starter-actuator是spring-boot自带的监控模块,我们要使用spring-cloud-starter-bus-amqp的话,也必须加上。

  2. 修改client-a模块的配置文件,主要是加上rabbitmq的配置,修改后如下,而config-server的配置文件不用修改

spring:
  rabbitmq:
    host: localhost
    port: 5672
    username: guest
    password: guest
  1. 完整配置如下:图片示例

注意:要达到配置自动更新,这里需要修改client-a的TestController,添加@RefreshScope注解
,修改git上的配置文件以post形式访问配置中心的http://localhost:8030/bus/refresh 来触发配置更新

  1. 现在虽然可以不用重启服务就更新配置了,但还是需要我们手动操作,这样还是不可取的。所以,这里就要用到git的webhooks来达到自动更新配置。打开git上配置仓库的地址,添加webhooks
发布了14 篇原创文章 · 获赞 92 · 访问量 1568

猜你喜欢

转载自blog.csdn.net/jn19970215/article/details/105459500