什麼是SpringCloudBus?如何使用SpringCloudBus實現自動更新配置?
這裡是修真院後端小課堂,每篇分享文從
【背景介紹】【知識剖析】【常見問題】【解決方案】【編碼實戰】【擴充套件思考】【更多討論】【參考文獻】
八個方面深度解析後端知識/技能,本篇分享的是:
【什麼是SpringCloudBus?如何使用SpringCloudBus實現自動更新配置?】
大家好,我是IT修真院深圳分院第十一期學員,一枚正直純潔善良的JAVA程式設計師。
今天給大家分享一下,修真院官網JAVA任務十的一個知識點:什麼是SpringCloudBus?如何使用SpringCloudBus實現自動更新配置?
1 背景介紹
1.1 SpringCloud簡介
springCloud是基於SpringBoot的一整套實現微服務的框架。他提供了微服務開發所需的配置管理、服務發現、斷路器、智慧路由、微代理、控制匯流排、全域性鎖、決策競選、分散式會話和叢集狀態管理等元件。
SpringBoot旨在簡化建立產品級的 Spring 應用和服務,簡化了配置檔案,使用嵌入式web伺服器,含有諸多開箱即用微服務功能
2 知識剖析
2.1 什麼是訊息匯流排?
在微服務架構的系統中,我們通常會使用輕量級的訊息代理來構建一個共用的訊息主題讓系統中所有微服務例項都連線上來,由於該主題中產生的訊息會被所有例項監聽和消費,所以我們稱它為訊息匯流排。
2.2 什麼是SpringCloudBus?
Spring cloud bus即SpringCloud框架的訊息匯流排。其本質是利用了MQ的廣播機制在分散式的系統中傳播訊息,目前常用的有Kafka和RabbitMQ。利用bus的機制可以做很多的事情,其中配置中心客戶端重新整理就是典型的應用場景之一。
2.3 使用SpringCloudBus實現自動更新配置的步驟有哪些?
1) 設定配置中心,config-server,從git獲取配置資訊;
2) 在service中呼叫config-server中的相關配置;
3) 在service中匯入SpringCloudBus相關依賴,配置RabbitMq;
4) 在需要重新整理配置的Controller上新增@RefreshScope註解
5) 在GitHub上配置WebHook,設定更新properties檔案後向config-server傳送post請求。
3 常見問題
如何使用SpringCloudBus實現自動更新配置
4 解決方案
1、見編碼實戰
5 編碼實戰
config-server的yml配置
http://localhost:8090/eureka/ config-server https://github.com/ respo master localhost guest guest bus-refresh
service的yml配置
service-hi master dev http://193.112.20.68:8091/ 193.112.201.68 guest guest http://193.112.20.68:8090/eureka/ localhost
6 擴充套件思考
7 參考文獻
CSDN、百度百科
8 更多討論
8.1 @RefreshScope的作用是什麼?
該註解用來標註需要重新整理的類,只有加上了這個註解,才會對這個類所引用的配置進行重新整理。
8.2 服務註冊中心、服務配置中心和具體的服務模組是不是必須要放在同一個伺服器上?
不需要,只需要在yml檔案中指定地、開放相關的埠即可。
8.3 GitHub的webHook功能如何配置?
1) 找到連線的庫,開啟Setting頁面;
2) 選擇webHook,新增webhook;
3) 填寫傳送POST請求的地址及何時傳送POST請求
技能樹.IT修真院
“我們相信人人都可以成為一個工程師,現在開始,找個師兄,帶你入門,掌控自己學習的節奏,學習的路上不再迷茫”。
這裡是技能樹.IT修真院,成千上萬的師兄在這裡找到了自己的學習路線,學習透明化,成長可見化,師兄1對1免費指導。
快來與我一起學習吧~http://www.jnshu.com/login/1/24864700
騰訊視訊:https://v.qq.com/x/page/c0719197opo.html
更多內容,可以加入IT交流群565734203與大家一起討論交流
這裡是技能樹·IT修真院:http://www.jsnhu.com,初學者轉行到網際網路的聚集地