This commit is contained in:
2024-09-22 09:55:13 +08:00
parent bee336ed5e
commit 027fbf781d
4 changed files with 8 additions and 6 deletions

View File

@@ -1,31 +0,0 @@
---
sidebar_position: 1
---
# RPC远程调用
## 什么是 RPC
> RPC 是一种通过网络将远程过程调用Remote Procedure CallRPC封装成消息并传送到远程服务器上的过程。
> ![zhub-fun.png](https://img.1216.top/docs/zhub/rpc-flow.png)
## 使用场景
> 在分布式环境下,通过 RPC 可以在两个应用之间进行消息传递,实现远程调用。
## rpc的订阅-调用基础示例
### 被调用端
```java
// 订阅 rpc-b 事件, 参数类型为 String
zhub.rpcSubscribe("rpc-b", IType.STRING, r -> {
String str = r.getValue();
System.out.println("接收到 b 事件:" + str);
return r.render("接收到 b 事件:" + str);
});
```
### 调用端
```java
// 调用 rpc-b 事件, 参数类型为 String返回类型为 String
RpcResult<String> rpcResult = zhub.rpc("rpc-b", "hello rpc", IType.STRING);
String result = rpcResult.getResult();
System.out.println("rpc result:" + result);
```