spring cloud实现配合文件异步管理,同时实现实时更新,实时获取配置信息的两种解决方案

一.首先讲下实现实时性的大功臣—spring cloud bus
spring cloud bus整合java的事件处理机制和消息中间件的发送和接收,主要是由发送端、接收端和事件组成。
目前spring cloud bus只实现了RabbitMq和Kafka的封装。
二、spring cloud bus与spring cloud config的整合
以RabbitMq作为消息代理,实现了应用配置的动态更新。
① 第一种实现模式:spring cloud实现配合文件异步管理,同时实现实时更新,实时获取配置信息的两种解决方案
Git hub仓库配置发送Post请求,向service A的实例3发送post请求,访问/bus/refresh接口,service A的实例3就会将刷新请求发送到消息总线上,该消息事件会被service A的实例1和实例2从总线中获取到,并重新从config server中获取它们的配置信息,从而实现配置信息的动态更新。
② 第二种实现方式

spring cloud实现配合文件异步管理,同时实现实时更新,实时获取配置信息的两种解决方案
①.在config server中引入 spring cloud bus,将配置服务端也加入到消息总线中来;
②./bus/refresh请求不再发送到具体服务实例上,而是发送给Config Server,并通过destination参数指定需要更新配置的服务或实例。
总结:
这两种实现配置动态更新方式,我个人比较青睐于第二种方式,这种会更安全。