dubbo框架原理
阿新 • • 發佈:2019-02-09
dubbo主要核心部件
轉載: http://blog.csdn.net/lovesummerforever/article/details/48180957
Remoting:網路通訊框架,實現了sync-over-async和request-response訊息機制。
RPC:一個遠端過程呼叫的抽象,支援負載均衡、容災和叢集功能。
Registry:服務目錄框架用於服務的註冊和服務事件釋出和訂閱。(類似第一篇文章中的點菜寶)
dubbo架構
Provider: 暴露服務的提供方。
Consumer:呼叫遠端服務的服務消費方。
Registry: 服務註冊中心和發現中心。
Monitor: 統計服務和呼叫次數,呼叫時間監控中心。(dubbo的控制檯頁面中可以顯示)
Container:服務執行的容器。
呼叫關係:
0、伺服器負責啟動,載入,執行提供者(例如在tomcat容器中,啟動dubbo服務端)。
1、提供者在啟動時,向註冊中心註冊自己提供的服務。
2、消費者啟動時,向註冊中心訂閱自己所需的服務。
3、註冊中心返回提供者地址列表給消費者,如果有變更,註冊中心將基於長連線推送變更資料給消費者。
4、消費者,從遠端介面列表中,呼叫遠端介面,dubbo會基於負載均衡演算法,選一臺提供者進行呼叫,如果呼叫失敗則選擇另一臺。
5、消費者和提供者,在記憶體中累計呼叫次數和呼叫時間,定時每分鐘傳送一次統計資料到監控中心。(可以在dubbo的視覺化介面看到)