Dubbo系列十一 RPC原理

2021-09-20 07:20:49 字數 971 閱讀 2344

1、rpc原理

一次完整的rpc呼叫流程如下:

1)服務消費方(client)呼叫以本地呼叫方式呼叫服務;

2)client stub接收到呼叫後負責將方法、引數等組裝成能夠進行網路傳輸的訊息體;

3)client stub找到服務位址,並將訊息傳送到服務端;

4)server stub收到訊息後進行解碼;

5)server stub根據解碼結果呼叫本地的服務;

6)本地服務執行並將結果返回給server stub;

7)server stub將返回結果打包成訊息並傳送至消費方;

8)client stub接收到訊息,並進行解碼;

9)服務消費方得到最終結果。

rpc框架的目標就是要將2到8這些步驟都封裝起來,這些細節對使用者來說是透明的,不可見的。

2、netty通訊原理

netty是乙個非同步事件驅動的網路應用程式框架, 用於快速開發可維護的高效能協議伺服器和客戶端。它極大地簡化並簡化了tcp和udp套接字伺服器等網路程式設計。

selector 一般稱 為選擇器 ,也可以翻譯為 多路復用器,

connect(連線就緒)、accept(接受就緒)、read(讀就緒)、write(寫就緒)

netty基本原理:

dubbo 回聲測試 泛化呼叫 RPC呼叫原理

檢測服務是否可用,dubbo獲取的所有服務 物件都實現了echoservice介面,用於監控 實現 如果沒問題返回ok字串否則丟擲異常 輸出結果 當provider發布了某個介面a,但consumer不知道這個介面a具體內容,但直到其中某個方法時,可採用泛化呼叫 但不推薦,影響透明化 跨越了消費端的...

Dubbo簡單RPC呼叫實現

1 安裝啟動zookeeper註冊中心進行服務治理 2 生成者和消費者pom.xml引入dubbo依賴 com.alibaba dubbo 2.8.3 3 生產者 3.1生產者編寫service介面及邏輯實現類 3.2配置檔案新增zookeeper位址埠 dubbo.registry.address...

rpc系列 反射

public inte ce testinte cepublic class person implements serializable,testinte ce public person long id,string name public person long id private pers...