1. 程式人生 > >Dubbo的架構體系

Dubbo的架構體系

分布式 自己 切換 ges 狀態 負載 加載 事件通知 體系

技術分享圖片
調用關系說明

  1. 服務容器負責啟動,加載,運行服務提供者。

  2. 服務提供者在啟動時,向註冊中心註冊自己提供的服務。

  3. 服務消費者在啟動時,向註冊中心訂閱自己所需的服務。

  4. 註冊中心返回服務提供者地址列表給消費者,如果有變更,註冊中心將基於長連接推送變更數據給消費者。

  5. 服務消費者,從提供者地址列表中,基於軟負載均衡算法,選一臺提供者進行調用,如果調用失敗,再選另一臺調

用。

  1. 服務消費者和提供者,在內存中累計調用次數和調用時間,定時每分鐘發送一次統計數據到監控中心。

Dubbo 架構具有以下幾個特點,分別是連通性、健壯性、伸縮性、以及向未來架構的升級性。

連通性

註冊中心負責服務地址的註冊與查找,相當於目錄服務,服務提供者和消費者只在啟動時與註冊中心交互,註冊中

心不轉發請求,壓力較小

監控中心負責統計各服務調用次數,調用時間等,統計先在內存匯總後每分鐘?次發送到監控中心服務器,並以報

表展示

服務提供者向註冊中心註冊其提供的服務,並匯報調用時間到監控中心,此時間不包含網絡開銷

服務消費者向註冊中心獲取服務提供者地址列表,並根據負載算法直接調?提供者,同時匯報調用時間到監控中

心,此時間包含網絡開銷

註冊中心,服務提供者,服務消費者三者之間均為長連接,監控中心除外

註冊中心通過?連接感知服務提供者的存在,服務提供者宕機,註冊中心將立即推送事件通知消費者

註冊中心和監控中心全部宕機,不影響已運行的提供者和消費者,消費者在本地緩存了提供者列表

註冊中心和監控中心都是可選的,服務消費者可以直連服務提供者

健狀性

監控中心宕掉不影響使用,只是丟失部分采樣數據

數據庫宕掉後,註冊中心

仍能通過緩存提供服務列表查詢,但不能註冊新服務

註冊中心對等集群,任意一臺宕掉後,將自動切換到另一臺

註冊中心全部宕掉後,服務提供者和服務消費者仍能通過本地緩存通訊

服務提供者無狀態,任意一臺宕掉後,不影響使用

服務提供者全部宕掉後,服務消費者應用將無法使用,並無限次重連等待服務提供者恢復

伸縮性

註冊中心為對等集群,可動態增加機器部署實例,所有客戶端將自動發現新的註冊中心

服務提供者無狀態,可動態增加機器部署實例,註冊中?將推送新的服務提供者信息給消費者

升級性

當服務集群規模進一步擴大,帶動IT治理結構進一步升級,需要實現動態部署,進行流動計算,現有分布式服務架構不

會帶來阻力。下圖是未來可能的一種架構
技術分享圖片
技術分享圖片

Dubbo的架構體系