添加:ZHub 管理接口文档和客户端使用指南
This commit is contained in:
@@ -3,6 +3,6 @@
|
||||
"position": 5,
|
||||
"link": {
|
||||
"type": "generated-index",
|
||||
"description": "这里存放了各种常用的工具。"
|
||||
"description": "ZHub 相关工具和概念,包含类型令牌、微服务架构等"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 # 启动(服务模式)
|
||||
|
||||
```
|
||||
@@ -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>(){}`,无需显式声明
|
||||
|
||||
@@ -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));
|
||||
```
|
||||
|
||||
## 最佳实践
|
||||
|
||||
- **服务划分**:按业务领域划分,保持单一职责
|
||||
- **消息设计**:清晰命名规范,可扩展格式
|
||||
- **错误处理**:重试机制、死信队列、状态监控
|
||||
- **监控管理**:连接状态、处理量、延迟监控
|
||||
|
||||
Reference in New Issue
Block a user