一.首先講下實作實時性的大功臣—spring cloud bus
spring cloud bus整合java的事件處理機制和消息中間件的發送和接收,主要是由發送端、接收端和事件組成。
目前spring cloud bus隻實作了RabbitMq和Kafka的封裝。
二、spring cloud bus與spring cloud config的整合
以RabbitMq作為消息代理,實作了應用配置的動态更新。
① 第一種實作模式:
Git hub倉庫配置發送Post請求,向service A的執行個體3發送post請求,通路/bus/refresh接口,service A的執行個體3就會将重新整理請求發送到消息總線上,該消息事件會被service A的執行個體1和執行個體2從總線中擷取到,并重新從config server中擷取它們的配置資訊,進而實作配置資訊的動态更新。
② 第二種實作方式
①.在config server中引入 spring cloud bus,将配置服務端也加入到消息總線中來;
②./bus/refresh請求不再發送到具體服務執行個體上,而是發送給Config Server,并通過destination參數指定需要更新配置的服務或執行個體。
總結:
這兩種實作配置動态更新方式,我個人比較青睐于第二種方式,這種會更安全。