37 lines
1.0 KiB
Markdown
37 lines
1.0 KiB
Markdown
---
|
||
sidebar_position: 4
|
||
title: 远程调用 RPC
|
||
description: RPC 远程调用,Remote Procedure Call,RPC
|
||
---
|
||
|
||
# RPC远程调用
|
||
|
||
:::tip
|
||
|
||
RPC 是一种通过网络将远程过程调用(Remote Procedure Call,RPC)封装成消息,并传送到远程服务器上的过程。
|
||
|
||
:::
|
||

|
||
|
||
## 使用场景
|
||
> 在分布式环境下,通过 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);
|
||
```
|
||
|