Files
m2pool_payment/internal/queue/README.md

47 lines
1.0 KiB
Markdown
Raw Normal View History

2025-10-21 10:58:58 +08:00
# RabbitMQ 服务模块
2025-10-16 18:54:27 +08:00
2025-10-21 10:58:58 +08:00
本模块提供 RabbitMQ 消息队列的封装,用于接收业务系统的请求和发送交易确认响应。
2025-10-16 18:54:27 +08:00
2025-10-21 10:58:58 +08:00
## 快速使用
2025-10-16 18:54:27 +08:00
```go
2025-10-21 10:58:58 +08:00
// 创建 RabbitMQ 服务
rmqServer, err := rmq.NewRabbitMQServer(config.RMQConfig)
if err != nil {
log.Fatal(err)
2025-10-16 18:54:27 +08:00
}
2025-10-21 10:58:58 +08:00
defer rmqServer.Close()
2025-10-16 18:54:27 +08:00
2025-10-21 10:58:58 +08:00
// 设置消息回调
2025-10-16 18:54:27 +08:00
rmqServer.OnTopupMsg = func(msg message.TopupMsg_req) {
2025-10-21 10:58:58 +08:00
// 处理充值请求
2025-10-16 18:54:27 +08:00
}
2025-10-21 10:58:58 +08:00
// 启动监听
rmqServer.Start()
2025-10-16 18:54:27 +08:00
2025-10-21 10:58:58 +08:00
// 发送响应
rmqServer.PublishTopupResp(response)
2025-10-16 18:54:27 +08:00
```
2025-10-21 10:58:58 +08:00
## 消息队列结构
2025-10-16 18:54:27 +08:00
2025-10-21 10:58:58 +08:00
### 请求队列(消费)
- `topup` - 充值请求
- `withdraw` - 提现请求
- `pay` - 支付请求
2025-10-16 18:54:27 +08:00
2025-10-21 10:58:58 +08:00
### 响应队列(发布)
- `topup_resp` - 充值响应
- `withdraw_resp` - 提现响应
- `pay_resp` - 支付响应
2025-10-16 18:54:27 +08:00
## 特性
**自动重连** - 连接断开时自动重连
**消息持久化** - 消息不会丢失
**手动确认** - 处理成功后才确认消息
**并发安全** - 支持多 goroutine 并发发布
2025-10-21 10:58:58 +08:00
更多详情请参考 [主 README](../../README.md)。