天天看點

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參數指定需要更新配置的服務或執行個體。

總結:

這兩種實作配置動态更新方式,我個人比較青睐于第二種方式,這種會更安全。

繼續閱讀