补充:ZHub 的rpc使用

This commit is contained in:
绝尘 2024-09-22 09:48:07 +08:00
parent 621ca23432
commit bee336ed5e
2 changed files with 27 additions and 2 deletions

View File

@ -2,6 +2,7 @@
"label": "其他组件", "label": "其他组件",
"position": 3, "position": 3,
"link": { "link": {
"type": "generated-index" "type": "generated-index",
"description": "分布式系统常用组件"
} }
} }

View File

@ -4,4 +4,28 @@ sidebar_position: 1
# RPC远程调用 # 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);
```