RPC
RPC 全稱 Remote Procedure Call,遠程過程調用,即本地調用遠程服務。
RPC 基於動態代理。
原理
RPC 設計構成包括:Client,Client Stub,Network,Server Stub,Server
流程:
- Client Function 調用遠程服務(和調用本地服務類似)
- Client Stub 收到調用請求後將方法和參數序列化
- 通過底層 Socket 轉發請求
- Server Stub 收到消息後執行反序列化
- Server Stub 根據反序列化處理完成的消息內容調用本地服務
- Server Function 處理調用請求並返回結果給 Server Stub
- Server Stub 將結果序列化
- 通過底層 Socket 返回調用結果
- Client Stub 收到結果後執行反序列化
- Client Stub 將反序列化處理完成的結果返回給 Client Function