RPC(遠程過程調用協議)

  遠程過程調用(RPC)是一個協議,程序可以使用這個協議請求網絡中另一臺計算機上某程序的服務而不需知道網絡細節。(過程調用有時也稱作函數調用,或子例行程序調用。)RPC使用client/server模型。請求程序是client,而服務提供程序則爲server。就像一般的本地過程調用一樣,RPC是一個同步操作,直到遠程過程結果返回請求程序纔可以掛起。儘管如此,使用輕質進程或線程時,它們共享同一地址空間,是允許多個RPC併發執行的。

  當使用RPC的程序語句被編譯成可執行程序時,一個存根將會被包括在編譯的代碼中,它相當於遠程過程代碼的代表。

  當程序運行,過程調用發生,存根收到請求並將其轉發給本地計算機中的一個客戶端運行時刻程序。這個客戶端運行時刻程序知道如何訪問遠程計算機及服務器應用程序,它將向網絡發送請求遠程過程的消息。類似地,服務器也包括一個運行時刻程序及與遠程過程連接的存根程序。結果將以相同方式返回。

  有多種RPC的模型與實現。一種較流行的模型與實現是開放軟件基金會(Open Software Foundation)的分佈式計算環境(DCE)。電子和電氣工程師協會IEEE在它1991年11月的ISO Remote Procedure Call Specification, ISO/IEC CD 11578 N6561, ISO/IEC中定義了RPC。

  RPC跨越了網絡通信的開放系統互聯(OSI)模型中的傳輸層與應用層。RPC使得一個包括網絡中分佈的多個程序的應用程序的開發變得更容易。

  不同的client/server的通信方法還有消息隊列及IBM的高級程序對程序通信(APPC)。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章