參考文件
整體分為三層
業務邏輯層,只有一層service
面向介面程式設計,乙個介面,對應乙個實現
遠端呼叫,通過呼叫介面,來呼叫介面實現
用於完成遠端過程呼叫,分為很多層
配置層
用於封裝配置檔案中,解析的一些資訊
比如,referenceconfig、serviceconfig
每乙個標籤,都有對應的config
來封裝標籤中的資訊
proxy
服務**層
利用**的方式,生成客戶端、服務端**物件
**物件,可以相互呼叫方法
registry
註冊中心層
完成註冊中心的相關功能
比如,服務的發現、服務的註冊
服務提供者,都需要註冊到註冊中心
服務消費者,都需要從註冊中心訂閱,所需要的服務
cluster
路由層
完成負載均衡的相關功能
呼叫者,需要呼叫很多的服務
同乙個服務,可能冗餘部署在多台伺服器上
此時,根據負載均衡策略,實現服務呼叫
monitor
監控層
每一次的呼叫資訊,都會傳送資料,給監控層
監控層,以介面的方式,展示傳送的呼叫資料
protocol
遠端呼叫層
用於完成遠端呼叫
封裝rpc整個呼叫過程
rpc呼叫核心invoker、protocol、exporter
remoting
完成遠端通訊
遠端呼叫,需要與a、b兩台伺服器
架起通訊管道,通過管道傳遞資料
exchange
資訊交換層
就是建立乙個客戶端、乙個服務端
兩個端,架起管道,進行資料的互聯互通
transport
傳輸層
傳輸資料,通過transport封裝傳輸
transport底層,是netty框架
serialize
序列化層
傳輸過程中,資料經過序列化,進行網路傳輸
收到資料,經過反序列化,獲取資料物件
consumer,服務消費者
provider,服務提供者
inte***ce,介面
class,實現類
inherit,介面之間的繼承關係
init,容器初始化
call,整個呼叫過程
depend,依賴順序
每一層,對應dubbo的乙個分包
選擇,hierarchical方式
檢視依賴
這些包,都是單向依賴
上層依賴於下層
Dubbo(二十) dubbo 原理 框架設計
1 框架設計 business也就是service層,是使用者程式設計所涉及的部分。以下的rpc和remoting都是原理部分。config層就是封裝配置檔案的資訊,就是配置檔案的記憶體表示。config層下面是proxy 服務 層 它會生成客戶端的 物件,生成服務端的 物件。物件互相呼叫方法。pr...
android sensor的框架設計原理
應用通過 sensors sdk 軟體開發套件 api訪問感測器。sdk 包含用以列出可用感測器和註冊到感測器的函式。在註冊到感測器時,應用可指定自己的首選取樣率和延遲要求。框架負責將多個應用關聯到 hal。如果框架級別沒有發生這種多路復用,則在任何指定時間內每個感測器都只能被乙個應用訪問。當第乙個...
MegEngine 框架設計
megengine框架設計 megengine 技術負責人許欣然將帶了解乙個深度學習框架是如何把網路的定義逐步優化並最終執行的,從框架開發者的視角來看待深度學習。背景 ai 浪潮一波又一波,彷彿不會演算法就落後於時代。深度學習框架處理了各種裝置的計算細節 求導 計算優化序列的工作,而在動態 靜態兩套...