配置中心刷新原理
nacos和spring cloud config两种配置中心动态刷新的范围都是以下两种:
- @ConfigurationProperties 注解的配置类
- @RefreshScope 注解的bean
手动刷新
post请求config客户端的/refresh端点
自动刷新
WebHooks动态触发刷新
spring-cloud-bus动态刷新
这时Spring Cloud Bus做配置更新步骤如下:
- 提交代码触发post给Server端发送bus/refresh
- Server端接收到请求并发送给Spring Cloud Bus
- Spring Cloud bus接到消息并通知给其它客户端
- 其它客户端接收到通知,请求Server端获取最新配置
- 全部客户端均获取到最新的配置
这样的话我们在server端的代码做一些改动,来支持/actuator/bus-refresh
Spring Cloud Bus
Spring Cloud Bus 使用轻量级的消息代理来连接微服务架构中的各个服务,可以将其用于广播状态更改(例如配置中心配置更改)或其他管理指令
目前 Spring Cloud Bus 支持两种消息代理:RabbitMQ 和 Kafka。
参考