RPC工作原理

2021-09-05 19:13:20 字數 735 閱讀 4343

see also:

rpc 工作原理

每項 rpc 服務都會在登錄檔中為自己配置乙個通用的唯一識別符號 (uuid)(類似於全域性唯一識別符號 guid)。uuid 是一種常用識別符號,各項服務都有乙個唯一的 uuid,且在所有平台上通用。當一項 rpc 服務啟動時,它會獲得乙個可用的高階口,並以其 uuid 在該埠註冊。有些服務隨機使用高階口;而有些服務卻每次都盡量使用相同的高階口(如果這些高階口可用)。在服務的生存期內,埠的分配是靜態的。

當乙個客戶端要與某特定 rpc 服務通訊時,它無法事先確定該服務在哪個埠上執行。該客戶端會先建立乙個到伺服器埠對映器服務(在 135 上)的連線,並利用該服務的 uuid 請求所需服務。埠對映器會將相應的埠號返回給客戶端,然後關閉連線。最後,客戶端利用埠對映器提供的埠號,新建乙個到該伺服器的連線。

由於事先無法獲悉 rpc 服務將使用哪個埠,因此防火牆不得不允許所有高階口通過。

有限的 rpc

優點:僅開放乙個高階口,比動態 rpc 更安全

缺點:修改所有伺服器的登錄檔

這種方法更安全,但卻需要修改所有域控制器的登錄檔。可以通過用 microsoft ® windows ® 2000 資源工具包中的工具編寫指令碼這種方式來修改登錄檔,這樣可避免出現配置錯誤。

必須為 rpc 複製確定乙個固定的埠號。internet assigned numbers authority (iana) 規定將 49152 - 65535 之間的數字用於專用和動態分配。

RPC原理簡介

什麼是rpc rpc remote procedure call 遠端過程呼叫,它是一種通過網路從遠端電腦程式上請求服務,而不需要了解底層網路技術的協議。rpc協議假定某些傳輸協議的存在,如tcp或udp,為通訊程式之間攜帶資訊資料。在osi網路通訊模型中,rpc跨越了傳輸層和應用層。rpc使得開發...

RPC實現原理

rpc remote procedure call 遠端過程呼叫,是乙個計算機通訊協議。該協議允許執行於一台計算機的程式呼叫另一台計算機的子程式,而程式設計師無需額外地為這個互動作用程式設計。兩個或多個應用程式都分布在不同的伺服器上,它們之間的呼叫都像是本地方法呼叫一樣,如下圖。阿里的dubbo g...

RPC原理和通訊原理

一次完整的 rpc呼叫流程 同步呼叫,非同步另說 如下 1 服務消費方 client 呼叫以本地呼叫方式呼叫服務 2 client stub 接收到呼叫後負責將方法 引數等組裝成能夠進行網路傳輸的訊息體 3 client stub 找到服務位址,並將訊息傳送到服務端 4 server stub 收到...