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,5 +1,5 @@
---
sidebar_position: 3
sidebar_position: 2
title: 广播消息
description: 发送、接收广播消息
---
@@ -29,4 +29,4 @@ description: 发送、接收广播消息
zhub.broadcast("topic-a", value);
return "send ok!";
}
```
```

View File

@@ -1,5 +1,5 @@
---
sidebar_position: 2
sidebar_position: 3
title: 延时消息
description: zhub 的延时消息使用
---
@@ -32,4 +32,4 @@ description: zhub 的延时消息使用
zhub.delay("topic-delay-a", "delay-value", 1000);
return "send ok!";
}
```
```

View File

@@ -1,6 +1,6 @@
---
sidebar_position: 1
title: 订阅&发布
title: 发布&订阅
description: zhub 创建客户端连接、订阅主题、发送主题消息
---

View File

@@ -0,0 +1,33 @@
---
sidebar_position: 4
title: 远程调用 RPC
description: RPC 远程调用Remote Procedure CallRPC
---
# 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);
```