Dubbo是什麼?
Dubbo是阿裡SOA服務化治理方案的核心架構。
它提供了注冊中心機制,解耦了消費方和服務方動态發現的問題,并提供高可靠能力,大量采用微核心+富插件設計思想,包括架構自身核心特性都作為擴充點實作,提供靈活的可擴充能力。
dubbo解決什麼問題?
dubbo的特性總結
分類 | dubbo的特性 |
面向接代理的高性能RPC調用 | 提供高性能的基于代理的遠端調用能力,服務以接口為粒度,為開發者屏蔽遠端調用底層細節 |
服務自動注冊與發現 | 支援多種注冊中心服務,服務執行個體上下線實時感覺 |
運作期流量排程 | 内置條件、腳本等路由政策,通過配置不同的路由規則,輕松實作灰階釋出、同機房優先等功能 |
智能負載均衡 | 内置多種負載均衡政策,智能感覺下遊節點健康狀況,顯著減少調用延遲,提高系統吞吐量 |
高度可擴充能力 | 遵循微核心+插件的設計思想,所有核心能力如Protocol、Transport、Serialization被設計為擴充點,平等對待内置實作和第三方實作 |
可視化的服務治理與運維 | 提供豐富服務治理、運維工具:随時查詢服務中繼資料、服務監控狀态以及調用統計,實時下發路由政策,調整配置參數 |
Dubbo後續的規劃
1.子產品化。
解決通信層與服務治理層耦合嚴重的問題,為Dubbo Mesh做好準備。
2.大流量
通過熔斷、隔離、限流等手段來提升叢集整體穩定性,定位故障節點
3.中繼資料
服務治理資料和服務注冊資料的分離,解決中繼資料冗長的問題,為對接注冊中心,配置中心做好準備
4.大規模
超大規模叢集應對服務注冊發現,記憶體占用,CPU消耗帶來的挑戰
5.路由政策
引入在阿裡内部廣泛實踐的路由政策:多機房、灰階、參數路由等智能化政策。
6.異步化
CompletableFuture 支援,跨程序的Reactive支援,提升分布式系統整體的吞吐率和CPU使用率。
7.生态擴充
dubbo在未來還會釋出各種其他語言的client
8.雲原生
dubbo後續會向dubbo Mesh方向發展,讓服務治理能力下沉,成為平台的基礎能力,應用無需與特定的語言技術綁定,讓Dubbo Mesh 稱為資料面闆
9.多語言支援
通過将服務治理能力sidecar化,支援多種語言的RPC已稱為可能,這也是Spring cloud 方案的最大短闆。