遠端過程呼叫 (RPC)


遠端過程呼叫是一種用於程序間通訊的技術,用於基於客戶端-伺服器的應用程式。它也稱為子程式呼叫或函式呼叫。

客戶端有一個請求訊息,RPC 將其翻譯併發送到伺服器。此請求可能是對遠端伺服器的過程或函式呼叫。當伺服器收到請求時,它會將所需的響應傳送回客戶端。在伺服器處理呼叫期間,客戶端處於阻塞狀態,只有在伺服器完成處理後才會恢復執行。

遠端過程呼叫的事件序列如下所示:

  • 客戶端呼叫客戶端存根。
  • 客戶端存根進行系統呼叫以將訊息傳送到伺服器,並將引數放入訊息中。
  • 客戶端的作業系統將訊息從客戶端傳送到伺服器。
  • 伺服器作業系統將訊息傳遞給伺服器存根。
  • 伺服器存根從訊息中刪除引數。
  • 然後,伺服器存根呼叫伺服器過程。

演示此過程的圖表如下:

RPC

遠端過程呼叫的優點

RPC 的一些優點如下:

  • 遠端過程呼叫支援面向過程和麵向執行緒的模型。
  • RPC 的內部訊息傳遞機制對使用者隱藏。
  • 在遠端過程呼叫中,重寫和重新開發程式碼的工作量最少。
  • 遠端過程呼叫既可以用於分散式環境,也可以用於本地環境。
  • RPC 省略了許多協議層以提高效能。

遠端過程呼叫的缺點

RPC 的一些缺點如下:

  • 遠端過程呼叫是一個可以以不同方式實現的概念。它不是標準。
  • RPC 在硬體架構方面沒有靈活性。它只是基於互動的。
  • 由於遠端過程呼叫,成本有所增加。

更新時間: 2023年11月1日

39K+ 瀏覽量

開啟您的職業生涯

透過完成課程獲得認證

開始學習
廣告