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:30:30
优先级队列是 RabbitMQ 中一种特殊的队列类型,它允许消息按照预设的优先级顺序被消费。与普通队列的 FIFO(先进先出)机制不同,优先级队列会根据消息的优先级属性(priority)重新排序,确保高优先级的消息能够优先被消费者获取和处理。

核心特点

优先级范围:支持0-255共256个优先级级别,数字越大优先级越高。
内存排序:所有消息在内存中按优先级排序,可能增加内存消耗。
性能影响:排序操作会带来额外的 CPU 开销。
混合模式:可与持久化、TTL 等特性组合使用。

应用场景

紧急任务处理:如电商系统中的订单取消请求(高优先级)应优先于普通订单(低优先级)处理。
告警系统:不同级别的告警消息(如 CRITICAL > WARNING > INFO)需要差异化处理。
VIP 客户服务:为高级别客户的消息分配更高优先级。
资源调度:重要后台任务优先获取计算资源。

约束与限制

仅开源托管版集群支持配置优先级队列,Serverless 版集群暂不支持。

配置队列的消息优先级范围

在创建 Queue 时,在其他高级选项中设置队列中消息的优先级最大值。具体步骤请参考创建 Queue
配置该队列中的消息的最大优先级,可选范围:[0,255],值越大,排序开销越高。
配置该参数后将启用优先级功能,生产者发送消息时通过 priority 属性指定优先级(0到 Maximum Priority 之间)。高优先级消息会优先被消费,未设置优先级的消息默认为 0。


发送优先级消息

以 Java 客户端为例,发送带优先级属性(priority)的消息。
// 创建带优先级的消息属性
AMQP.BasicProperties properties = new AMQP.BasicProperties.Builder()
.priority(5) // 设置优先级为5(范围0-255)
.deliveryMode(2) // 持久化消息
.build();

// 发送消息
channel.basicPublish(
"exchange.direct", // 交换机名称
"priority.routing", // 路由键
properties, // 消息属性
"重要订单数据".getBytes() // 消息体
);


帮助和支持

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

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

文档反馈