Appearance
运维观测矩阵
本页结论:四个产品都有官方 CLI/管理端与核心指标体系,但形态不同——RabbitMQ 自带管理 UI 与 Prometheus 端点,Kafka 靠 CLI + JMX + 第三方 Schema Registry,RocketMQ 靠 mqadmin/Dashboard + 内置重试与事务状态观测,Pulsar 靠 pulsar-admin + 原生 Schema Registry;积压观测指标名不同但语义一致。
覆盖 spec §8.2「运维矩阵」的工具/指标/Schema 部分(安全能力部分见安全)。版本基线与标记规则见矩阵总览(checkedAt: 2026-08-19)。
管理工具
| 能力 | RabbitMQ | Kafka | RocketMQ | Pulsar |
|---|---|---|---|---|
| 官方管理工具 | ✅ rabbitmqctl/rabbitmq-diagnostics CLI + Management 插件 Web UI 与 HTTP API(operations) | ✅ kafka-topics/kafka-consumer-groups 等 CLI;社区版无官方 Web UI(operations) | ✅ mqadmin CLI + RocketMQ Dashboard(operations) | ✅ pulsar-admin/pulsarctl CLI + pulsar-manager Web(operations) |
| 指标导出 | ✅ 内置 Prometheus 端点与指标 API(operations) | 🔧 JMX 为主,通常需 JMX exporter 转 Prometheus(operations) | 🔧 Broker 指标 + Dashboard 展示,Prometheus 接入需配置(operations) | 🔧 Broker 指标 + Prometheus 端点,需配置暴露(operations) |
关键观测指标
| 指标类别 | RabbitMQ | Kafka | RocketMQ | Pulsar |
|---|---|---|---|---|
| 积压度量 | ✅ 队列消息数 + consumer 未确认数(operations) | ✅ Consumer Lag:按消费组 × 分区(operations) | ✅ 消费堆积:按消费组 × Topic × 队列(operations) | ✅ Subscription Backlog:按订阅(operations) |
| 重投/DLQ 观测 | 🔧 死信队列深度需自行监控(operations) | 🛠 retry/DLT 是普通 Topic,积压需自建告警(operations) | ✅ 重试队列与 %DLQ% 消息数内置可见(operations) | 🔧 重投计数与死信 Topic 深度可观测(operations) |
| 复制/可用性状态 | ✅ Quorum Queue 成员与 raft 状态(operations) | ✅ ISR 数量、Under-Replicated/Offline 分区(operations) | 🔧 主从同步状态、DLedger/Controller 选主状态(operations) | ✅ bookie 状态、ledger 副本健康(operations) |
| 特色状态观测 | 连接/Channel 数、内存/磁盘告警阈值 | 分区 Leader 分布、请求延迟 | 事务回查次数、发送/消费 TPS(operations) | 游标位置、unacked 消息数、限流(operations) |
四产品的积压定位决策树是同一个:生产突增 → 消费者变慢 → 消费者离线 → 分区/队列不均 → 毒消息循环 → Broker 限流。指标映射与决策树详见运维观测分卷。
Schema 生态
| 能力 | RabbitMQ | Kafka | RocketMQ | Pulsar |
|---|---|---|---|---|
| Schema 管理 | ➖ 无内置:契约靠应用约定或外部 Schema 仓库(pitfalls) | 🧩 非 Kafka 本体:配合第三方 Schema Registry(如 Confluent/Apicurio)做兼容性校验(pitfalls) | ➖ 无内置 Schema Registry:靠 Tag/属性与业务约定(pitfalls) | ✅ 原生 Schema Registry:为 Topic 注册 Schema 并做兼容性策略校验(concepts) |
Schema 演进(新增可选字段兼容、破坏性变更升版本)是跨产品的通用要求,见 schema-evolution 模式与消息契约规则。
脚注:同名异义
- 「消费位点 / Lag」:Kafka 的 lag = 分区最新 offset − 已提交 offset;RocketMQ 的堆积按队列计算;Pulsar 的 backlog 按订阅游标;RabbitMQ 没有位点,积压 = 队列中未消费消息数 + unacked。数值口径不同,不可直接跨产品比较「lag 大小」。
- 「管理插件 / Dashboard / Manager」:RabbitMQ Management、RocketMQ Dashboard、pulsar-manager 是三个独立项目,能力范围、权限模型与部署方式各不相同;Kafka 社区版没有对等的官方 Web UI。
相关页面
- 安全能力:安全
- 容量与扩缩容:存储与高可用、扩展与并行
- 选型时如何权衡运维成本:选型指南