Files
m2pool_payment/internal/queue
2025-10-31 13:46:58 +08:00
..
2025-10-31 13:46:58 +08:00
2025-10-21 10:58:58 +08:00

RabbitMQ 服务模块

本模块提供 RabbitMQ 消息队列的封装,用于接收业务系统的请求和发送交易确认响应。

快速使用

// 创建 RabbitMQ 服务
rmqServer, err := rmq.NewRabbitMQServer(config.RMQConfig)
if err != nil {
    log.Fatal(err)
}
defer rmqServer.Close()

// 设置消息回调
rmqServer.OnTopupMsg = func(msg message.TopupMsg_req) {
    // 处理充值请求
}

// 启动监听
rmqServer.Start()

// 发送响应
rmqServer.PublishTopupResp(response)

消息队列结构

请求队列(消费)

  • topup - 充值请求
  • withdraw - 提现请求
  • pay - 支付请求

响应队列(发布)

  • topup_resp - 充值响应
  • withdraw_resp - 提现响应
  • pay_resp - 支付响应

特性

自动重连 - 连接断开时自动重连
消息持久化 - 消息不会丢失
手动确认 - 处理成功后才确认消息
并发安全 - 支持多 goroutine 并发发布

更多详情请参考 主 README