什麼是rpc
rpc(remote procedure call)——遠端過程呼叫,它是一種通過網路從遠端電腦程式上請求服務,而不需要了解底層網路技術的協議。rpc協議假定某些傳輸協議的存在,如tcp或udp,為通訊程式之間攜帶資訊資料。在osi網路通訊模型中,rpc跨越了傳輸層和應用層。rpc使得開發包括網路分布式多程式在內的應用程式更加容易
rpc採用客戶機/伺服器模式。請求程式就是乙個客戶機,而服務提供程式就是乙個伺服器。首先,客戶機呼叫程序傳送乙個有程序引數的呼叫資訊到服務程序,然後等待應答資訊。在伺服器端,程序保持睡眠狀態直到呼叫資訊到達為止。當乙個呼叫資訊到達,伺服器獲得程序引數,計算結果,傳送答覆資訊,然後等待下乙個呼叫資訊,最後,客戶端呼叫程序接收答覆資訊,獲得程序結果,然後呼叫執行繼續進行
看了上邊的可能還比較模糊
通俗的講:
rpc是指遠端過程呼叫,也就是說兩台伺服器a,b,乙個應用部署在a伺服器上,想要呼叫b伺服器上應用提供的函式/方法,由於不在乙個記憶體空間,不能直接呼叫,需要通過網路來表達呼叫的語義和傳達呼叫的資料
下邊來張**:
RPC工作原理
see also rpc 工作原理 每項 rpc 服務都會在登錄檔中為自己配置乙個通用的唯一識別符號 uuid 類似於全域性唯一識別符號 guid uuid 是一種常用識別符號,各項服務都有乙個唯一的 uuid,且在所有平台上通用。當一項 rpc 服務啟動時,它會獲得乙個可用的高階口,並以其 uui...
RPC實現原理
rpc remote procedure call 遠端過程呼叫,是乙個計算機通訊協議。該協議允許執行於一台計算機的程式呼叫另一台計算機的子程式,而程式設計師無需額外地為這個互動作用程式設計。兩個或多個應用程式都分布在不同的伺服器上,它們之間的呼叫都像是本地方法呼叫一樣,如下圖。阿里的dubbo g...
01 RPC簡介原理及用Go實現乙個RPC
rpc簡介 本地過程呼叫 正常情況下程式的執行和呼叫情況。例如有如下go語言 package main import fmt func main func add a int,b int int 在上述的go語言 中,我們定義了乙個add方法用於實現兩個數相加的功能,在main方法中通過呼叫add方...