tencent cloud

消息队列 RabbitMQ 版

动态与公告
新功能发布记录
公告
产品简介
TDMQ 产品系列介绍与选型
什么是消息队列 RabbitMQ 版
产品优势
应用场景
开源托管版与 Serverless 版差异说明
开源版本支持说明
与开源 RabbitMQ 对比
高可用
使用限制
RabbitMQ 相关概念
开区地域
相关云服务
产品计费
计费概述
价格说明
计费示例
按小时付费转包年包月
续费说明
查看消费明细
欠费说明
退费说明
快速入门
入门流程指引
步骤1:准备工作
步骤2:创建 RabbitMQ 集群
步骤3:配置 Vhost
步骤4:使用 SDK 收发消息
步骤5:查询消息
步骤6:销毁资源
用户指南
使用流程指引
配置账号权限
创建集群
配置 Vhost
连接集群
管理消息
配置高级特性
管理集群
查看监控和配置告警
实践教程
实践教程使用说明
RabbitMQ 客户端实践教程
RabbitMQ 消息可靠性实践教程
RabbitMQ 支持 MQTT 协议说明
迁移集群
迁移方案概述
步骤1:购买云上实例
步骤2:迁移元数据上云
步骤3:开启双读写
API 参考(开源托管版)
API 概览
API 参考(Serverless 版)
History
Introduction
API Category
Making API Requests
Relevant APIs for RabbitMQ Serverless PAAS Capacity
RabbitMQ Serverless Instance Management APIs
Data Types
Error Codes
SDK 文档
SDK 概述
Spring Boot Starter 接入
Spring Cloud Stream 接入
Java SDK
Go SDK
Python SDK
PHP SDK
安全与合规
权限管理
网络安全
删除保护
变更记录
云 API 审计
常见问题
服务等级协议
联系我们

应用场景

PDF
聚焦模式
字号
最后更新时间: 2026-01-04 15:26:33

秒杀场景

秒杀是电商系统中一个非常常见的场景,解决方案比较多,但是使用消息队列 RabbitMQ 版是一个比较好的做法。
如果是复杂的扣减库存(如涉及商品信息本身或牵连其他系统),则建议使用数据库进行库存数量的扣减,可以使用异步的方式来应对这种高并发的库存更新。
1. 在用户下单时,不立刻生成订单,而是将所有订单依次放入队列。
2. 下单模块依据自身的处理速度,从队列中依次获取订单进行“下单扣库存”操作。
3. 在订单生成成功后,用户即可进行支付操作了。
这种方式是针对“秒杀”场景的,依据“先到先得”原则来保证公平公正,所有用户都可以抢购,然后等待订单处理,最后生成订单(如果库存不足,则生成订单失败)。




优先级消息

在消费消息时,如果消息的重要程度不同,重要性高的消息希望被优先消费,这时可以使用消息队列 RabbitMQ 版优先级队列的能力,让优先级高的消息优先被消费。
参考如下业务场景:
例如系统中有订单催付的场景,客户在电商系统下的订单,系统会及时将订单推送给客户。如果在设定的时间内未付款那么就会给客户推送一条短信提醒。但是,电商系统会分大客户和小客户,大客户的订单催收消息需要优先处理,其他的小客户的催收相对优先级会低一些。
使用消息队列 RabbitMQ 版的优先级队列可以很好的支持这个场景,让优先级高的消息不会积压太久。如果发现是大客户的订单给一个相对比较高的优先级,优先被处理;否则就是默认优先级。




延迟消息场景

实际业务系统中,有发送延迟消息的需求。如果自己实现延迟逻辑,可靠性和延迟精度很难得到保障。使用消息中间件,如消息队列 RabbitMQ 版可以很好的处理此类需求。延迟消息的使用场景有:
订单系统中,用户下单后有30分钟时间进行支付。如果30分钟内没有支付成功,那么这个订单将进行异常处理。这里可以使用消息队列 RabbitMQ 版延迟消息能力来处理这些超时订单。
物联网系统中,用户希望通过手机遥控智能设备在指定的时间工作,这时就可以将指令发到延迟队列,当指令设定的时间到了,再将控制指令推送到智能设备。




消息广播

很多业务系统需要将信息广播给下游的系统。如果通过 RPC 的方式,耦合比较重,对上游业务系统的压力也比较大。此时,可以使用消息队列 RabbitMQ 版的 Fanout Exchange 来处理此类需求。可以使用的场景:
大型多人在线游戏(MMO)可以将其用于排行榜更新或其他全局事件;
体育新闻网站可以使用扇形交换机向客户端近乎实时的分发比分信息;
分布式系统使用它来广播各种状态和配置更新;
群聊可以使用它在参与者之间分发消息。




灵活路由场景

随着微服务架构的流行,服务拆分得较细,服务的数据会以消息的形式,使用精心设计的分发策略发送到不同的队列中去。这时可以充分的利用消息队列 RabbitMQ 版灵活的消息路由的能力,将消息分发到目标 Queue 中。可以使用的场景:
日志处理场景,可以将日志按类型投递到不同的 Queue。例如 Error 单独一个处理队列,优先处理。
电商物流系统的物流信息按地域分发给不同的消费端进行处理。
复杂路由场景。






帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈