This commit is contained in:
2024-04-21 12:38:27 +08:00
parent 424eb06417
commit eeebdae492
16 changed files with 63 additions and 3 deletions

View File

@@ -0,0 +1,8 @@
{
"label": "基础使用",
"position": 2,
"link": {
"type": "generated-index",
"description": "完成 ZHub 服务安装后,来看看一遍就会的基础使用文档~"
}
}

View File

@@ -0,0 +1,32 @@
---
sidebar_position: 3
title: 广播消息
description: 发送、接收广播消息
---
:::tip
消息接收
广播消息的消息接收,与主题消息、延时消息 api一致且使用了相同 topic 命名空间
- 消息接收
- 广播消息发送
:::
## 消息接收
> [广播消息接收](publish-subscribe.md#订阅主题消息)
## 广播消息发送
> 和发布订阅消息基本差不多
```java
private ZHubClient zhub;
@RestMapping(name = "publish_test", auth = false, comment = "发送广播消息测试")
public String publishTest(String value) {
zhub.broadcast("topic-a", value);
return "send ok!";
}
```

View File

@@ -0,0 +1,60 @@
---
sidebar_position: 0
title: 创建连接
description: 初始化客户端连接对象
---
:::tip
目前已提供三种客户端连接使用
- Java 项目
- [普通 Java 项目](#java通用)
- [使用 Redkale 的 Java 项目](#redkale框架-项目里面使用)
- [Golang 项目](#golang-项目中使用)
:::
---
## Java通用
> 在Java 项目中引入 zhub-client.jar
```java
private ZHubClient zhub;
@Before
public void init() {
// 参数说明:① ip:端⼝, ②消费者组名称, ③项⽬实例名(名称需全局唯⼀)④授权码
zhub = new ZHubClient("127.0.0.1:6066", "test-hub", "DEV-LOCAL", "user@pwd123");
}
```
---
## Redkale框架 项目里面使用
> 在Java的redkale 项目中引入 zhub-rekale.jar
> 在配置文件中配置zhub组件
```
# source.properties 中配置
############ ClusterSource @Resource(name="hub") ############
redkale.cluster.zhub[hub].addr = 127.0.0.1:6066
redkale.cluster.zhub[hub].auth = user@pwd123
redkale.cluster.zhub[hub].groupid = test-hub
```
> 在 service 中注入组件
>
```java
@Resource(name = "hub")
protected ZHubClient zhub;
```
## Golang 项目中使用
> 待补充
---

View File

@@ -0,0 +1,35 @@
---
sidebar_position: 2
title: 延时消息
description: zhub 的延时消息使用
---
:::tip
首先完成 **[连接创建](create-connection.md)** ,便可进行**延时消息**的发送和接收,
- [订阅主题消息](#订阅主题消息)
- [发送延时消息](#发送延时消息)
:::
## 订阅主题消息
> 见 [主题的订阅](publish-subscribe.md#订阅主题消息)
## 发送延时消息
> 参数说明:①主题名称 ②消息内容 ③延时多久单位ms
> zhub.delay("topic-delay-a", "delay-value", 1000);
>
示例代码:
```java
private ZHubClient zhub;
@RestMapping(name = "delay_test", auth = false, comment = "发送延时主题消息测试")
public String delayTest(String value) {
zhub.delay("topic-delay-a", "delay-value", 1000);
return "send ok!";
}
```

View File

@@ -0,0 +1,41 @@
---
sidebar_position: 1
title: 订阅&发布
description: zhub 创建客户端连接、订阅主题、发送主题消息
---
:::tip
发布-订阅Publish-Subscribe消息中间件可以用于实现发布-订阅模式。发布者将消息发布到一个或多个主题Topic而订阅者订阅感兴趣的主题。当有新的消息发布到主题时所有订阅了该主题的订阅者都会接收到消息。这样可以实现一对多的消息传递降低发送方和接收方之间的耦合性。
首先完成 **[连接创建](create-connection.md)** ,便可进行消息的发送和接收,
- [订阅主题消息](#订阅主题消息)
- [发送主题消息](#发送主题消息)
:::
## 订阅主题消息
```java
// 事件订阅
zhub.subscribe("topic-a", x -> {
System.out.println("接收到主题 topic-a 事件,消息内容:" + x);
});
```
## 发送主题消息
测试发送主题消息
```java
private ZHubClient zhub;
@RestMapping(name = "publish_test", auth = false, comment = "发送主题消息测试")
public String publishTest(String value) {
zhub.publish("topic-a", value);
return "send ok!";
}
```
这个时候,将会在订阅端收到主题订阅消息,并在控制台输出: `接收到主题 topic-a 事件消息内容xx` 的消息内容