Skip to content
Go back

消息队列对比

Updated:
Edit

按「经典消息队列」和「Kafka 兼容流平台」分开看。Kafka 现默认 KRaft(不必再上 ZooKeeper)。

经典消息 / 流平台

名称模型事务顺序延时消息多租户典型场景主要短板
Kafka日志式发布订阅支持分区内有序需业务或外部实现ACL / 配额模拟大数据、事件溯源、日志运维与存储成本偏高
Pulsar队列 + 流支持分区 / Key 有序原生任意延时原生租户 / 命名空间云原生、多租户、队列流合一组件多(Broker + BookKeeper)
RocketMQ点对点 + 发布订阅ShardingKey 有序原生(分级 / 定时)支持电商、金融、事务消息国际生态小于 Kafka
RabbitMQ点对点 + 发布订阅部分(Confirm / 事务)单队列有序TTL + DLX 模拟vhost复杂路由、传统集成海量吞吐不如日志型
NATS JetStream发布订阅 + 流弱 / 不强调有序消费者定时交付账户隔离微服务、IoT、低延迟能力面小于 Kafka 全家桶
Redis Streams流 + 消费者组不支持单 Stream 有序需业务模拟DB / 前缀隔离已有 Redis、轻量实时不是专用 MQ,持久与堆积有上限
NSQ发布订阅不支持弱保证不支持简单高吞吐任务语义简单、生态窄
ActiveMQJMS 点对点 + 主题支持弱于分区模型插件 / TTLvhost遗留 Java / JMS性能与云原生体验一般

Kafka 兼容 / 云原生流平台

协议兼容 Kafka 客户端,主打更简单运维或更低存储成本。

名称实现路径存储延迟取向兼容性核心亮点主要短板适合
Apache Kafka原版本地盘 + 分层存储(KIP-405)低~中基准生态最全(Connect / Streams / ksqlDB)JVM、扩缩与跨 AZ 成本要完整生态、自管或 MSK 等
RedpandaC++ 重写本地盘 + 分层 / Iceberg Topics极低(亚 10ms 级常见)高(偶有边缘差异)单二进制、无 JVM、运维简单许可证(BSL)限制需注意低延迟、要简单自管
AutoMQKafka 代码 + 换存储WAL + 对象存储(S3 等)中(可调)极高(原生 Kafka 测试)存算分离、长保留成本低、弹性好强依赖云盘 / 对象存储设计云上长保留、成本敏感
WarpStream(Confluent)Go,S3-native基本直接对象存储高(数百 ms 级常见)核心 API;事务等能力需核对磁盘less、BYOC / 托管省心不适合硬实时日志 / 观测等可容忍延迟

推荐


Edit
Share this post on:

Previous Post
Maven 常用操作
Next Post
GoGo Protobuf