Dubbo的分層架構


 Dubbo 分層架構圖如下:

Dubbo大的三層分別為 Business(業務層)、RPC 層、Remoting,並且還分為 API 層和 SPI 層。

分為大三層其實就是和我們知道的網絡分層一樣的意思,只有層次分明,職責邊界清晰才能更好的擴展

而分 API 層和 SPI 層這是 Dubbo 成功的一點,采用微內核設計+SPI擴展,使得有特殊需求的接入方可以自定義擴展,做定制的二次開發。

接下來咱們再來看看每一層都是干嘛的。

  • Service,業務層,就是咱們開發的業務邏輯層。

  • Config,配置層,主要圍繞 ServiceConfig 和 ReferenceConfig,初始化配置信息。

  • Proxy,代理層,服務提供者還是消費者都會生成一個代理類,使得服務接口透明化,代理層做遠程調用和返回結果。

  • Register,注冊層,封裝了服務注冊和發現。

  • Cluster,路由和集群容錯層,負責選取具體調用的節點,處理特殊的調用要求和負責遠程調用失敗的容錯措施。

  • Monitor,監控層,負責監控統計調用時間和次數。

  • Portocol,遠程調用層,主要是封裝 RPC 調用,主要負責管理 Invoker,Invoker代表一個抽象封裝了的執行體,之后再做詳解。

  • Exchange,信息交換層,用來封裝請求響應模型,同步轉異步。

  • Transport,網絡傳輸層,抽象了網絡傳輸的統一接口,這樣用戶想用 Netty 就用 Netty,想用 Mina 就用 Mina。

  • Serialize,序列化層,將數據序列化成二進制流,當然也做反序列化。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM