Dubbo框架设计原理
框架設計
參考文檔
http://dubbo.apache.org/zh-cn/docs/dev/design.html
整體分為三層
Business
業務邏輯層,只有一層Service
面向接口編程,一個接口,對應一個實現
遠程調用,通過調用接口,來調用接口實現
RPC
用于完成遠程過程調用,分為很多層
Config
配置層
用于封裝配置文件中,解析的一些信息
比如,ReferenceConfig、ServiceConfig
每一個標簽,都有對應的Config
來封裝標簽中的信息
Proxy
服務代理層
利用代理的方式,生成客戶端、服務端代理對象
代理對象,可以相互調用方法
Registry
注冊中心層
完成注冊中心的相關功能
比如,服務的發現、服務的注冊
服務提供者,都需要注冊到注冊中心
服務消費者,都需要從注冊中心訂閱,所需要的服務
Cluster
路由層
完成負載均衡的相關功能
調用者,需要調用很多的服務
同一個服務,可能冗余部署在多臺服務器上
此時,根據負載均衡策略,實現服務調用
Monitor
監控層
每一次的調用信息,都會發送數據,給監控層
監控層,以界面的方式,展示發送的調用數據
Protocol
遠程調用層
用于完成遠程調用
封裝RPC整個調用過程
RPC調用核心Invoker、Protocol、Exporter
Remoting
完成遠程通信
遠程調用,需要與A、B兩臺服務器
架起通信管道,通過管道傳遞數據
Exchange
信息交換層
就是創建一個客戶端、一個服務端
兩個端,架起管道,進行數據的互聯互通
Transport
傳輸層
傳輸數據,通過Transport封裝傳輸
Transport底層,是Netty框架
Serialize
序列化層
傳輸過程中,數據經過序列化,進行網絡傳輸
收到數據,經過反序列化,獲取數據對象
顏色標注
Consumer,服務消費者
Provider,服務提供者
Interface,接口
Class,實現類
Inherit,接口之間的繼承關系
Init,容器初始化
Call,整個調用過程
Depend,依賴順序
Dubbo分包
每一層,對應Dubbo的一個分包
選擇,Hierarchical方式
查看依賴
依賴關系
這些包,都是單向依賴
上層依賴于下層
總結
以上是生活随笔為你收集整理的Dubbo框架设计原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring boot定制错误数据携带出
- 下一篇: Dubbo标签解析原理