远程过程调用 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)
应用场景
跨主机服务调用需要隐藏字节序、网络失败与定位细节。