天天看點

【dubbo系列001】dubbo是什麼?dubbo解決什麼問題?

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 方案的最大短闆。

繼續閱讀