rpc(remote procedure call)— 遠端過程呼叫,是乙個計算機通訊協議。該協議允許執行於一台計算機的程式呼叫另一台計算機的子程式,而程式設計師無需額外地為這個互動作用程式設計。
兩個或多個應用程式都分布在不同的伺服器上,它們之間的呼叫都像是本地方法呼叫一樣,如下圖。
阿里的dubbo、google的grpc、go語言的rpcx、apache的thrift, spring 旗下的 spring cloud 。。。。。。
說明:服務消費方(client)以本地呼叫方式呼叫服務,client stub 接收到呼叫後負責將方法、引數等封裝成能夠進行網路傳輸的訊息體;
client stub 將訊息進行編碼;
client stu將訊息傳送到服務端;
server stub 接收訊息;
server stub 收到訊息後進行解碼;
server stub 根據解碼結果呼叫本地的服務;
本地服務執行並將結果返回給 server stub;
server stub 將返回匯入結果進行編碼;
將編碼結果並傳送至消費方;
client stub 接收到訊息;
對訊息進行解碼;
服務消費方(client)得到結果。
rpc 的目標就是將 2-11 這些步驟都封裝起來,使用者無需關心這些細節,可以像呼叫本地方法一樣即可完成遠端服務呼叫。
RPC原理簡介
什麼是rpc rpc remote procedure call 遠端過程呼叫,它是一種通過網路從遠端電腦程式上請求服務,而不需要了解底層網路技術的協議。rpc協議假定某些傳輸協議的存在,如tcp或udp,為通訊程式之間攜帶資訊資料。在osi網路通訊模型中,rpc跨越了傳輸層和應用層。rpc使得開發...
RPC工作原理
see also rpc 工作原理 每項 rpc 服務都會在登錄檔中為自己配置乙個通用的唯一識別符號 uuid 類似於全域性唯一識別符號 guid uuid 是一種常用識別符號,各項服務都有乙個唯一的 uuid,且在所有平台上通用。當一項 rpc 服務啟動時,它會獲得乙個可用的高階口,並以其 uui...
RPC原理和通訊原理
一次完整的 rpc呼叫流程 同步呼叫,非同步另說 如下 1 服務消費方 client 呼叫以本地呼叫方式呼叫服務 2 client stub 接收到呼叫後負責將方法 引數等組裝成能夠進行網路傳輸的訊息體 3 client stub 找到服務位址,並將訊息傳送到服務端 4 server stub 收到...