自从 RocketMQ 进入 Apache 基金会后,团队大力发展社区生态,包括和 Apache Spark,Apache Flink,Apache Storm,Apache Ignite 等顶级开源产品有了更多的生态连接与整合能力。
如果是应对一些高并发,高可靠以及高可用比较苛刻的场景,Apache RocketMQ 是一个不错的选择。
RocketMQ 在低延迟,消息重试与追踪,海量 Topic,多租户,一致性多副本,数据可靠性等问题上进行了大量优化,对电商,金融领域的用户来说,是一大利好。
ZeroMQ 不是一个 MQ,所以这里不提了。Kafka 为大数据吞吐为王的日志处理而生,早先在 Batch 模式下,具有碾压其它同类产品的品质。这两年,在满足了阿里集团核心消息诉求后,我们先后两次对 RocketMQ 进行了革命式优化,前年主要做了双十一交易链路的长尾慢请求优化,在延迟方面已经超越 Kafka。具体的数据可以参考这篇文章 [3]。
吞吐方面,在小包非批量以及大量分区的场景下(现实应用更广泛的场景),RocketMQ 更能充分利用磁盘的 IO 能力达到更高的 TPS(领先 Kafka 一倍左右)。在大包和批量的场景下,RocketMQ 和 Kafka 目前已经相差无几,此时的瓶颈已经转移到磁盘的吞吐能力上。