Dubbo是什麼?
Apache Dubbo™ (incubating)是一款高性能Java RPC框架。Dubbo是一個高性能服務框架,致力於提供高性能和透明化的RPC遠程服務調用方案,以及SOA服務治理方案,使得應用可通過高性能RPC實現服務的輸出和輸入功能,和Spring框架可以無縫集成。
Dubbo架構
Dubbo主要由服務容器(Container)、服務提供者(Provider)、服務消費者(Consumer)、註冊中心(Registry)和監控中心(Monitor)共五個部分構成。
Dubbo運行的主要流程爲以下6個步驟:
0·服務容器負責啓動,加載,運行服務提供者。
1·服務提供者在啓動時,向註冊中心註冊自己提供的服務。
2·服務消費者在啓動時,向註冊中心訂閱自己所需的服務。
3·註冊中心返回服務提供者地址列表給消費者,如果有變更,註冊中心將基於長連接推送變更數據給消費者。
4·服務消費者,從提供者地址列表中,基於軟負載均衡算法,選一臺提供者進行調用,如果調用失敗,再選另一臺調用。
5·服務消費者和提供者,在內存中累計調用次數和調用時間,定時每分鐘發送一次統計數據到監控中心。
未完待續...