添加:ZHub 管理接口文档和客户端使用指南

This commit is contained in:
2025-09-23 21:48:31 +08:00
parent 88011cf20b
commit 5af775e525
35 changed files with 4133 additions and 412 deletions

View File

@@ -3,6 +3,6 @@
"position": 5,
"link": {
"type": "generated-index",
"description": "这里存放了各种常用的工具。"
"description": "ZHub 相关工具和概念,包含类型令牌、微服务架构等"
}
}

View File

@@ -1,18 +0,0 @@
---
sidebar_position: 9
---
# 一些命令
```shell title='在 Windows 环境下,项目打包成 zip 文件:'
# rem 请将“my-site”替换为您想要命名的 zip 文件名称,这将创建一个名为 "my-site.zip" 的 zip 文件。
powershell Compress-Archive -Path build -DestinationPath my-site.zip
```
```shell title='docusaurus 常用命令'
pnpm run build # 构建
pnpm run start # 启动
pnpm run serve # 启动(服务模式)
```

View File

@@ -1,10 +1,14 @@
---
sidebar_position: 1
title: IType 类型定义
description: ZHub 客户端 IType 接口类型定义
---
# IType
# IType 类型定义
> IType 中实现的 TypeToken
IType 接口提供了 ZHub 客户端中常用的类型定义,用于 RPC 调用和消息订阅时的类型安全。
## 接口定义
```java
package dev.zhub;
@@ -24,6 +28,49 @@ public interface IType {
}
```
## 使用示例
### RPC 调用
```java
// 字符串类型 RPC
RpcResult<String> result = zhub.rpc("user.getInfo", "user123", IType.STRING);
// 整数类型 RPC
RpcResult<Integer> count = zhub.rpc("user.getCount", "group1", IType.INT);
// Map 类型 RPC
RpcResult<Map<String, String>> userInfo = zhub.rpc("user.getDetails", "user123", IType.MAP);
```
### 消息订阅
```java
// 订阅字符串消息
zhub.subscribe("user.notification", message -> {
System.out.println("收到通知: " + message);
});
// 订阅 Map 消息
zhub.subscribe("user.profile", IType.MAP, profile -> {
System.out.println("用户资料: " + profile.get("name"));
});
// 订阅整数消息
zhub.subscribe("user.count", IType.INT, count -> {
System.out.println("用户数: " + count);
});
```
## 类型说明
- `STRING` - 字符串类型,用于文本消息
- `INT` - 整数类型用于计数器、ID
- `LONG` - 长整数类型,用于时间戳、大数值
- `DOUBLE` - 双精度浮点类型,用于价格、比率
- `MAP` - 键值对映射,用于结构化数据
- `LMAP` - Map 列表,用于批量数据
## 注意事项
- 优先使用 IType 中提供的类型
- 自定义类型使用 `new TypeToken<Type>(){}` 构建
- 字符串消息默认类型`new TypeToken<String>(){}`,无需显式声明

View File

@@ -1,14 +1,41 @@
---
sidebar_position: 1
sidebar_position: 2
title: ZHub 与微服务
description: ZHub 在微服务架构中的应用场景
---
# ZHub 与微服务
- 服务注册与发现:
> 在分布式系统中服务注册与发现是确保系统能够找到并调用正确服务的关键机制。ZHub 作为一个服务注册中心或服务发现机制的一部分它负责维护服务列表service-topic使得其他服务能够通过它找到并调用所需的服务。
- 负载均衡:
> 在分布式系统中负载均衡是确保请求均匀分布到各个服务实例上的关键机制。ZHub 是一个负载均衡器,它可负责将请求分发到不同的服务实例上,以提高系统的可用性和性能。
- 消息队列:
> 在微服务架构中消息队列可以用于异步处理请求和解耦服务之间的通信。ZHub 是一个消息队列服务,它可负责接收、存储和分发消息,使得服务可以在需要时处理这些消息。
## 核心功能
- **消息通信**支持发布订阅、RPC调用等通信模式
- **异步处理**:解耦服务间通信,提高系统响应性
## 架构优势
- **服务解耦**:消息通信降低依赖,支持独立部署
- **异步处理**:提高响应性能,支持事件驱动
- **可靠性**:重试机制、监控管理
## 应用场景
```java
// 用户服务
zhub.publish("user.registered", userInfo);
zhub.subscribe("user.registered", new TypeToken<UserEvent>(){}, event -> processUserEvent(event));
// 订单服务
zhub.publish("order.created", orderInfo);
zhub.subscribe("order.created", new TypeToken<OrderEvent>(){}, event -> processOrderEvent(event));
// 支付服务
zhub.publish("payment.completed", paymentInfo);
zhub.subscribe("payment.completed", new TypeToken<PaymentEvent>(){}, event -> processPaymentEvent(event));
```
## 最佳实践
- **服务划分**:按业务领域划分,保持单一职责
- **消息设计**:清晰命名规范,可扩展格式
- **错误处理**:重试机制、死信队列、状态监控
- **监控管理**:连接状态、处理量、延迟监控