遠端過程呼叫 (RPC)
遠端過程呼叫是一種用於程序間通訊的技術,用於基於客戶端-伺服器的應用程式。它也稱為子程式呼叫或函式呼叫。
客戶端有一個請求訊息,RPC 將其翻譯併發送到伺服器。此請求可能是對遠端伺服器的過程或函式呼叫。當伺服器收到請求時,它會將所需的響應傳送回客戶端。在伺服器處理呼叫期間,客戶端處於阻塞狀態,只有在伺服器完成處理後才會恢復執行。
遠端過程呼叫的事件序列如下所示:
- 客戶端呼叫客戶端存根。
- 客戶端存根進行系統呼叫以將訊息傳送到伺服器,並將引數放入訊息中。
- 客戶端的作業系統將訊息從客戶端傳送到伺服器。
- 伺服器作業系統將訊息傳遞給伺服器存根。
- 伺服器存根從訊息中刪除引數。
- 然後,伺服器存根呼叫伺服器過程。
演示此過程的圖表如下:
遠端過程呼叫的優點
RPC 的一些優點如下:
- 遠端過程呼叫支援面向過程和麵向執行緒的模型。
- RPC 的內部訊息傳遞機制對使用者隱藏。
- 在遠端過程呼叫中,重寫和重新開發程式碼的工作量最少。
- 遠端過程呼叫既可以用於分散式環境,也可以用於本地環境。
- RPC 省略了許多協議層以提高效能。
遠端過程呼叫的缺點
RPC 的一些缺點如下:
- 遠端過程呼叫是一個可以以不同方式實現的概念。它不是標準。
- RPC 在硬體架構方面沒有靈活性。它只是基於互動的。
- 由於遠端過程呼叫,成本有所增加。
廣告