RPC原理
阿新 • • 發佈:2018-12-26
RPC
Remote Procedure Call
遠端過程呼叫
呼叫步驟
1、服務消費方client呼叫,以本地呼叫方式,呼叫服務
2、client stub接收到呼叫後,負責將方法、引數等
組裝成能夠進行網路傳輸的訊息體
client stub,客戶端代理
3、client stub找到服務地址,並將訊息傳送到服務端
4、server stub收到訊息後,進行解碼
server stub,服務端代理
5、server stub根據解碼結果,呼叫本地的服務
6、本地服務執行並將結果,返回給server stub
7、server stub將返回結果打包成訊息,併發送至消費方
8、client stub接收到訊息,並進行解碼
9、服務消費方得到最終結果
Dubbo
使用Dubbo的時候,只做了兩步
1、服務消費方client呼叫,以本地呼叫方式,呼叫服務
2、服務消費方,得到最終結果
呼叫過程
以面向介面的方式,呼叫一個遠端方法
然後,可以直接獲取呼叫結果
中間的整個過程,對於我們來說是透明、不可見
RPC框架作用
將中間的過程,封裝起來
Dubbo框架,也是一種RPC框架
封裝了2~8步,呼叫過程的中間環節
在除錯原始碼的時候,可以檢視當前處於的呼叫環節