性能对比
框架性能对比
在 2020-Benchmarking Apache Kafka,Apache Pulsar,and RabbitMQ: Which is the Fastest? 一文中对 Kafka、RabbitMQ 和 Pulsar 这三种消息系统进行了全面、均衡的分析:
- 吞吐量:Kafka 在三个系统中的吞吐量最高,是 RabbitMQ 的 15 倍,Pulsar 的 2 倍。
- 延迟:Kafka 在较高的吞吐量下提供了最低的延迟,同时还提供了强大的持久性和高可用性。在默认配置下,Kafka 在所有延迟基准测试中都要比 Pulsar 快,而且,当设置为 fsync 每条消息时,一直到 p99.9 百分位,它都更快。RabbitMQ 可以实现比 Kafka 更低的端到端延迟,但只能在吞吐量低很多的情况下。
- 成本/复杂性:成本往往是性能的逆函数。作为具有最高稳定吞吐量的系统,由于其高效的设计,Kafka 提供了所有系统中最好的价值(即每字节写入成本)。事实上,Twitter 的 Kafka 之 旅 远离了像 Pulsar 这样的基于 BookKeeper 的架构,这证实了我们的观察:Kafka 相对较少的移动部件显著降低了它的成本(在 Twitter 的情况下高达 75%)。此外,将 ZooKeeper 从 Apache Kafka 中移除的工作(参见 KIP-500)正在进行中,这进一步简化了 Kafka 的架构。