到底什麼是RPC?

2021-09-08 13:14:36 字數 977 閱讀 7517

rpc:遠端過程呼叫,是一種同意分布式應用程式呼叫網路上不同計算機的可用服務的機制。rpc服務會在登錄檔中給自己註冊乙個uuid,成為通用唯一識別符號。這個uuid針對每一項服務都是乙個唯一的值,且在全部的平台上通用。

當一項rpc服務啟動的時候。它會獲得乙個高位port。而且以其uuid對該port進行註冊,有些rpc服務則會隨機使用高位port。而有些服務每次都盡量使用同樣的port(假設可用)。但在服務的生存期內。port的分配時靜態的。當乙個client要與特定的rpc服務通訊的時候。它無法事先知道該服務在哪乙個port上執行。

因此該client會先建立乙個到server的port對映器服務,windows在135port。unix/linux/solaris在111port。並使用其請求的服務的uuid向serverport對映器服務查詢該port號,port對映器會將對應的port號返回給client,然後關閉連線。最後,client利用port對映器提供的port號,新建乙個到該服務的連線。

比如。nfs啟動的時候會啟用未被使用的小於1024 的port作為監聽傳輸使用,並主動的向 rpc 註冊,因此rpc知道nfs相應使用的port。

rpc使用固定的port 111port來監聽使用者端的需求而且回報給使用者端正確的nfsport。

讓使用者端能夠鏈結到正確的nfsport上。

所以。nfs服務必須啟動rpc服務。

比如:80port實際上總是http通訊。

(2)註冊port(registered ports):從1024到49151。它們鬆散地繫結於一些服務。也就是說有很多服務繫結於這些port。這些port相同用於很多其他目的。比如:很多系統處理動態port從1024左右開始。

(3)動態和/或私有port(dynamic and/or private ports):從49152到65535。理論上。不應為服務分配這些port。

實際上,機器通常從1024起分配動態port。但也有例外:sun的rpcport從32768開始。

原文:

究竟什麼是RPC?

究竟什麼是rpc?很多人,很多地方,很多書籍都提到了rpc,那麼究竟什麼是rpc呢?rpc 遠端過程呼叫,是一種允許分布式應用程式呼叫網路上不同計算機的可用服務的機制。rpc服務會在登錄檔中給自己註冊乙個uuid,稱為通用唯一識別符號,這個uuid針對每一項服務都是乙個唯一的值,且在所有的平台上通用...

到底什麼是 O R Mapper

一次和乙個群裡面的朋友聊天,有人說最近發現了新的設計資料庫方法,就是把資料庫的列和物件屬性一一對應,這樣設計很方便。我說寒,那有這麼容易的,實際情況複雜去了,怎麼能一一對應。原文 http dot junkies.weblog seichert posts 4677.aspx 讓我們從o r開始。字...

到底什麼是webservice

傳統上,我們把計算機後台程式 daemon 提供的功能,稱為 服務 service 比如,讓乙個防毒軟體在後台執行,它會自動監控系統,那麼這種自動監控就是乙個 服務 通俗地說,服務 就是計算機可以提供的某一種功能。舉例來說,我現在有一批,需要把它們的大小縮小一半。那麼,我們可以把 縮放 看成是一種服...