远程过程调用 RPC

通信

访问次数: 9

通过存根、参数编组与网络传输,使远程调用在形式上接近本地过程调用。

视频教程
类图
sequenceDiagram
    participant C as Client
    participant CS as ClientStub
    participant SS as ServerStub
    participant S as Server
    C->>CS: call(args)
    CS->>SS: marshal + network
    SS->>S: unmarshal + invoke
    S-->>SS: result
    SS-->>CS: marshal result
    CS-->>C: return
源代码示例
interface Calculator { int add(int a, int b); }
class CalculatorStub implements Calculator {
  public int add(int a, int b) { return RemoteTransport.invoke("add", a, b); }
}
class CalculatorStub:
    def add(self, a, b):
        return remote_invoke('add', a, b)
应用场景
跨主机服务调用需要隐藏字节序、网络失败与定位细节。