文章目錄
Spring Cloud Bus
Spring Cloud Bus使用機制
Spring Cloud Bus 被國內很多都翻譯爲消息總線。大家可以將它理解爲管理和傳播所有分佈式項目中的消息即可,
其實本質是利用了MQ的廣播機制在分佈式的系統中傳播消息,目前常用的有Kafka和RabbitMQ。利用Bus的機制
可以做很多的事情,其中配置中心客戶端刷新就是典型的應用場景之一,我們用一張圖來描述Bus在配置中心使用
的機制。
Spring Cloud Bus 實戰
Postman測試工具安裝
Postman是款強大網頁調試的windows客戶端工具,提供功能強大的 Web API & HTTP 請求調試。軟件功能非常強大,界面簡潔明晰、操作方便快捷,設計得 很人性化。Postman中文版能夠發送任何類型的HTTP 請 求 (GET, DELETE, POST, PUT…), 附帶任何數量的請求參數。
RabbitMQ的安裝
Erlang的安裝、配置環境變量
具體不詳述
運行RabbitMQ安裝程序
具體不詳述,安裝插件完成後可以瀏覽器打開
配置Config客戶端
修改 microservice-cloud-14-product-config-8001 工程的 pom.xml 文件,添加依賴
在bootstrap.yml中添加配置
功能測試
1、首先啓動Config服務端:microservice-cloud-11-config-server-5001
2、依次啓動Eureka服務端:microservice-cloud-13-eureka-config-6001
3、最後啓動Product提供者服務:microservice-cloud-14-product-config-8001
4、訪問Eureka管理頁面: http://eureka6001.com:6001/ 顯示服務名是 microservice-product-config
5、修改GitHub上的 microservice-config-product.yml 配置文件
6、訪問Eureka管理頁面: http://eureka6001.com:6001/ 查看效果依然還是 microservice-product-config
7、使用 postman工具發送 POST 請求: http://localhost:8001/actuator/bus-refresh
8、再次訪問 http://eureka6001.com:6001/ ,發現服務名變爲 microservice-product-config-bus
自定義類中讀取配置實戰
修改GitHub上的 microservice-config-product.yml 配置文件,增加自定義配置信息
獲取配置信息
如果需要在自定義類中獲取更新配置內容,則需要在此類上添加 @RefreshScope 纔會獲得更新的內容
自定義Druid配置類
自定義Druid配置類
這樣即可以刷新Druid數據源