性能对比
框架性能对比
在 2020-Benchmarking Apache Kafka,Apache Pulsar,and RabbitMQ: Which is the Fastest? 一文中对
- 吞吐量:
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 的架构。