使用腾讯云 TDMQ RabbitMQ 版对比开源 RabbitMQ 具备的优势。
相关产品
消息队列 RabbitMQ 版 产品页,含版本规格、价格与购买入口。
Serverless 版开源托管版
一、功能
| 对比类型 |
对比项 |
TDMQ RabbitMQ Serverless 版 |
开源/自建 RabbitMQ |
| 兼容性 |
协议 |
兼容 AMQP 0-9-1 协议和开源 RabbitMQ 客户端。 |
AMQP 0-9-1、AMQP 1.0、STOMP、MQTT、HTTP(S)、WebSockets。 |
| |
客户端 |
存算分离架构。 |
基于社区版 RabbitMQ,存在不抗消息堆积、脑裂等风险。 |
| 消息能力 |
延时消息 |
支持任意延时时间,秒级精确度,兼容 x-delayed-message 插件,海量堆积不影响集群性能。详情请见配置延时消息。 |
通过插件或使用消息存活时间过期转移方式实现。 |
| |
事务消息 |
不支持。 |
支持。 |
| |
顺序消息 |
不支持。 |
支持。 |
| |
消息优先级 |
不支持。 |
支持。 |
| |
消息重试机制 |
支持。消息消费超过一定时间未响应会重新投递。重试间隔时间为30分钟,最多重试16次,超过则会丢弃或发送至死信 Exchange。 |
无消息重试机制。无法跳过有问题消息的消费处理,无法处理新生产的消息,从而会导致消息大量堆积引起内存问题,导致服务宕机。 |
| 权限 |
权限控制 |
腾讯云访问管理(CAM)。详情请见配置账号权限。 |
开源控制台授权。 |
| 可观测能力 |
监控指标 |
指标丰富,包含集群、Vhost、Exchange 和 Queue四个维度,便于快速定位问题 |
需要通过手动配置指标:方案一:通过Management UI能够获取丰富的指标,但需要自建指标存储及展示的系统。方案二:通过Prometheus+Grafana实现。 |
| |
消息轨迹 |
支持按 MessageID 精确查询消息,或按 Queue查询海量消息。白屏化展示消息生命周期,包含生产、入队、投递和消费阶段,便于快速定位问题。支持死信、重投递、延时消息等特殊场景的轨迹查看。 |
消息轨迹信息以文本格式存储在服务器的 log 文件中,查询和定位问题效率较低。 |
二、稳定性
| 对比类型 |
对比项 |
TDMQ RabbitMQ Serverless 版 |
开源/自建 RabbitMQ |
| 高可用 |
底层架构 |
存算分离架构。 |
基于社区版 RabbitMQ,存在不抗消息堆积、脑裂等风险。 |
| |
跨AZ高可用部署 |
默认支持跨多可用区部署。 |
需要自行设计部署方案和参数。 |
| |
服务可用性 |
SLA 99.95%。 |
自行运维和保障。 |
| |
数据可靠性 |
数据三副本存储。 |
多副本同步会影响集群性能。 |
| |
消息堆积 |
高性能不受海量消息堆积影响。 |
抗堆积能力较弱,容易引发内存负载问题。 |
| 可扩展性 |
TPS 上限 |
理论无上限,能够横向扩容。 |
有上限,受底层机器性能影响。 |
| |
扩缩容 |
同版本可快速横向扩缩容。(缩容即将支持) |
需手动升级底层机型规格。涉及开源控制台重启。 |
| 可运维性 |
开箱即用 |
成熟化的部署、监控方案,开箱即用。 |
需要使用开源控制台管理资源。 |
| |
监控告警 |
提供白屏化监控大盘界面,支持 4 个维度,6 大类别,90+ 监控指标。 |
监控指标的获取方法:方案一:使用 Management UI 获取指标,自行搭建指标存储和展示系统。方案二:接入外部 Prometheus 和 Grafana 实现。 |
| |
消息查询 |
支持消息按 Message ID 精确查询或依据队列查询,消息轨迹能够展示消息完整的生命周期。 |
在服务器里的 log 文件中查询文本格式的消息轨迹信息,查询和定位问题效率较低。 |
| |
消息轨迹(即将支持) |
|
|
| 服务 |
服务支持 |
腾讯云7*24小时专业工单服务支持。 |
自行运维。 |
三、Exchange
| 对比类型 |
对比项 |
TDMQ RabbitMQ Serverless 版 |
开源/自建 RabbitMQ |
| 基础配置 |
类型 |
支持 direct、fanout、headers、topic 这几种类型。 |
支持 direct、fanout、headers、topic、x-delayed-message、x-consistent-hash 这几种类型。 |
| |
持久化 |
默认持久化。 |
支持配置持久化与非持久化。 |
| 参数配置 |
Internal |
不支持。 |
支持。 |
| |
Alternate exchange |
不支持。 |
支持。 |
四、Queue
| 对比类型 |
对比项 |
TDMQ RabbitMQ Serverless 版 |
开源/自建 RabbitMQ |
| 基础配置 |
类型 |
无需配置,分布式高可用集群。 |
需要配置,支持以下类型:Classic:经典镜像队列。Quorum:仲裁队列。 |
| |
节点 |
无需配置,服务免运维。 |
需要配置,可选择节点。 |
| |
持久化 |
默认持久化。 |
支持持久化和非持久化。 |
| 参数配置 |
Max length |
无需配置,支持海量消息堆积。 |
需要配置,防止消息堆积过多而引起的内存问题导致宕机。 |
| |
Max length bytes |
无需配置,支持海量消息堆积。 |
需要配置,防止消息堆积过多而引起的内存问题导致宕机。 |
| |
Max in memory length |
无需配置,支持海量消息堆积。 |
需要配置,防止消息堆积过多而引起的内存问题导致宕机。 |
| |
Max in memory bytes |
无需配置,支持海量消息堆积。 |
需要配置,防止消息堆积过多而引起的内存问题导致宕机。 |
| |
Delivery limit |
无需配置,固定值,默认16次。 |
需要配置。 |
| |
Message TTL |
支持。 |
支持。 |
| |
Dead letter exchange |
支持。 |
支持。 |
| |
Dead letter routing key |
支持。 |
支持。 |
| |
Single active consumer |
不支持。 |
支持。 |
| 对比项 |
功能描述 |
TDMQ RabbitMQ 开源托管版 |
开源/自建 RabbitMQ |
| 高可用 |
跨 AZ 高可用部署 |
支持跨 AZ 高可用部署,具备成熟的故障恢复方案。 |
需要自行设计部署方案和参数。 |
| |
服务可用性 |
三节点集群保证 SLA 99.95% |
自行运维和保障。 |
| |
数据可靠性 |
三节点默认可支持队列持久化,镜像队列。 |
需要自行配置镜像策略的参数。 |
| 可扩展性 |
扩缩容 |
支持产品化水平/垂直扩缩容,按需变配集群规格。 |
需手动升级底层机型规格。涉及开源控制台重启。 |
| 可运维性 |
开箱即用 |
成熟化的部署、监控方案,开箱即用。 |
需要使用开源控制台管理资源。 |
| |
监控告警 |
支持实例、节点、Vhost、Queue、Exchange 等多维度监控告警。 |
监控指标的获取方法:方案一:使用 Management UI 获取指标,自行搭建指标存储和展示系统。方案二:接入外部 Prometheus 和 Grafana 实现。 |
| |
消息查询 |
可根据队列和消息参数查询消息信息及详情。 |
不支持。 |
| 安全合规性 |
管控操作权限控制 |
控制台操作基于腾讯云 CAM 控制权限,安全合规。 |
管控操作权限难以精细化控制。 |
| |
操作可追溯 |
管控操作对接操作审计,可回溯。 |
不支持。 |
| 服务 |
服务支持 |
腾讯云7*24小时专业工单服务支持。 |
自行运维。 |