消息队列三巨头:Kafka vs RocketMQ vs Pulsar——百万级消息吞吐实测
引言 三个月前,我们做了一次选型评审。会议室白板上写着三个候选:Kafka、RocketMQ、Pulsar。两小时讨论,最后停在同一个问题上: "你们说的'快',是看了谁的博客?" 提案 A 说 Kafka 单机百万;提案 B 说 Pulsar 存算分离、弹性最好;提案 C 说 RocketMQ 双 11 扛过万亿级。三个人引用的都是厂商宣传页和几年前的 PPT,环境不同、消息大小不同、持久化语义不同——没有一个数字能横向比较。 于是我们自己搭了一套环境,把三套集群都按同样的机器规格、同样的消息、同样的可靠性语义压了一遍。3 台 8 核 16G 的机器,各 1000 万条 1KB 消息,每轮跑三遍取中位数。 先给结论(细节和原始数据在后文): 维度第一名第二名第三名一句话 生产吞吐Kafka 26.8 万/s(262 MB/s)Pulsar 14.2 万/sRocketMQ 9.6 万/sKafka 领先 2.8 倍 端到端 P99(稳态)RocketMQ 9msKafka 18msPulsar 42mspush 长轮询占优 积压 1000 万条的消化速度Kafka 55 ....