1.RPC是什麼?
remote produce call: 遠程過程調用
過程是什麼?
過程就是業務處理、計算任務,更直白理解,就是程序。
2.RPC流程環節?
- 客戶端處理過程中調用Client stub(就像調用本地方法一樣),傳遞參數;
- Client stub將參數編組爲消息,然後通過系統調用向服務端發送消息;
- 客戶端本地操作系統將消息從客戶端機器發送到服務端機器;
- 服務端操作系統將接受到的數據包傳遞給Server stub;
- Server stub解組消息爲參數;
- Server stub再調用服務端的過程,過程執行結果以反方向的相同步驟相應給客戶端。
3.RPC協議?
RPC調用過程中需要將參數編組爲消息進行發送,接收方需要接組消息爲參數,過程處理結果同樣需要經編組、解組。消息由哪些部分構成及消息的表示形式就構成了消息協議。
RPC調用過程中採用的消息協議成爲RPC協議。
4.RPC相關術語
- Client、Server、calls、replies、service,programs,procedures,version,marshalling、unmarshalling
- 一個網絡服務由一個或多個遠程程序集構成
- 一個遠程程序實現一個或多個遠程過程
- 過程、過程的參數、結果在程序協議說明書中定義說明
- 爲兼容程序協議變更、一個服務端可能支持多個版本的遠程程序