簡介
Dubbo是阿裡巴巴開源的一個高性能的分布式RPC架構,整個架構的核心原理來源于生産者與消費者的運作模型;架構的核心分4大部分:
1. 服務注冊中心
注冊中心主要用于儲存生産者消費者資訊;生産者将自己的服務儲存在注冊中心,消費者通過注冊中心尋找可用的生産者。
2. 服務提供者(生産者)
服務提供者,傳統的軟體架構中的Service、Dao層;主要實作種類多樣、多元化的業務需求,并通過注冊中心提供服務接口給其他系統內建。
3. 服務消費者(消費者)
服務消費者,傳統軟體架構中的Controller、Service層;作為Controller,則主要是接參、校驗,響應結果;作為Service則是整合其他微服務實作自己的多元化業務。
4. 服務監控中心
監控中心主要用于運維;可視化的界面直覺的了解各個微服務的情況。
架構
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZwpmLlJXd0NWZ0lGajJXYt8mYiVHZvw1cldWYtl2LcNXZjJXdvN3LcJXZzV3Lc52Ytgmevw1cj9GZvw1Zy9mLlh2YhBXYu8mYiVHZvw1LcpDc0RHaiojIsJye.jpg)
節點角色說明
節點 | 角色說明 |
---|---|
| 暴露服務的服務提供方 |
| 調用遠端服務的服務消費方 |
| 服務注冊與發現的注冊中心 |
| 統計服務的調用次數和調用時間的監控中心 |
| 服務運作容器 |
調用關系說明
- 服務容器負責啟動,加載,運作服務提供者。
- 服務提供者在啟動時,向注冊中心注冊自己提供的服務。
- 服務消費者在啟動時,向注冊中心訂閱自己所需的服務。
- 注冊中心傳回服務提供者位址清單給消費者,如果有變更,注冊中心将基于長連接配接推送變更資料給消費者。
- 服務消費者,從提供者位址清單中,基于軟負載均衡算法,選一台提供者進行調用,如果調用失敗,再選另一台調用。
- 服務消費者和提供者,在記憶體中累計調用次數和調用時間,定時每分鐘發送一次統計資料到監控中心。
版權聲明:本文為CSDN部落客「weixin_34049032」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。
原文連結:https://blog.csdn.net/weixin_34049032/article/details/92064325