相關資源鏈接
一、dubbo是什麼?
Dubbo是 阿里巴巴公司開源的一個高性能優秀的服務框架,使得應用可通過高性能的 RPC 實現服務的輸出和輸入功能,可以和 Spring框架無縫集成。
二、dubbo可以做什麼?
一款分佈式服務框架
高性能和透明化的RPC遠程服務調用方案
SOA服務治理方案
三、Dubbo架構
節點角色規範
節點 | 角色規格 |
---|---|
Provider | 暴露服務的服務提供方 |
Consumer | 調用遠程服務的服務消費方 |
Registry | 服務註冊與發現的註冊中心 |
Monitor | 統計服務的調用次數和調用時間的監控中心 |
Container | 服務運行容器 |
四、Dubbo註冊中心
對於服務提供方,它需要發佈服務,而且由於應用系統的複雜性,服務的數量、類型也不斷膨脹;
對於服務消費方,它最關心如何獲取到它所需要的服務,而面對複雜的應用系統,需要管理大量的服務調用。
而且,對於服務提供方和服務消費方來說,他們還有可能兼具這兩種角色,即既需要提供服務,有需要消費服務。
通過將服務統一管理起來,可以有效地優化內部應用對服務發佈/使用的流程和管理。服務註冊中心可以通過特定協議來完成服務對外的統一。
Dubbo提供的註冊中心有如下幾種類型可供選擇:
Multicast註冊中心
Zookeeper註冊中心
Redis註冊中心
Simple註冊中心
五、Dubbo優缺點
5.1、優勢
1、透明化的遠程方法調用
像調用本地方法一樣調用遠程方法;只需簡單配置,沒有任何API侵入。
2、軟負載均衡及容錯機制
可在內網替代nginx lvs等硬件負載均衡器。
3、服務註冊中心自動註冊 & 配置管理
不需要寫死服務提供者地址,註冊中心基於接口名自動查詢提供者ip。
使用類似zookeeper等分佈式協調服務作爲服務註冊中心,可以將絕大部分項目配置移入zookeeper集羣。
4、服務接口監控與治理
Dubbo-admin與Dubbo-monitor提供了完善的服務接口管理與監控功能,針對不同應用的不同接口,可以進行 多版本,多協議,多註冊中心管理。
5.2、劣勢
只支持JAVA語言