Dubbo(開源分佈式服務框架)
Dubbo由阿里巴巴開源的一個高性能優秀的服務框架,使得應用可通過高新能的RPC實現服務的輸出和輸入功能,可以和Spring框架無縫集成
是一款高性能、輕量級的開源Java RPC框架,它提供了三大核心能力:面向接口的遠程方法調用,智能容錯和負載均衡,以及服務自動註冊和發現
工作原理
- Provider:暴露服務方稱之爲“服務提供者”
- Consumer:調用遠程服務方稱之爲“服務消費者”
- Registry:服務註冊與發現的中心目錄服務稱之爲“服務註冊中心”
- Monitor:統計服務的調用次數和調用時間的日誌服務稱之爲“服務監控中心”
調用關係說明:
- 0.服務容器負責啓動,加載,運行服務提供者
- 1.服務提供者在啓動時,向註冊中心註冊自己提供的服務
- 2.服務消費者在啓動時,向註冊中心訂閱自己所需的服務
- 3.註冊中心返回服務提供者地址列表給消費者,如果有變更,註冊中心將基於長連接推送變更數據給消費者
- 4.服務消費者,從提供者地址列表中,基於軟負載均衡算法,選一臺提供者進行調用,如果調用失敗,再選另一臺調用
- 5.服務消費者和提供者,在內存中累計調用次數二號調用時間,定時每分鐘後發送一次統計數據到監控中心
特性
dubbo架構具有連通性、健壯性、伸縮性以及向未來架構的升級性