为什么卡夫卡这么快

Jer*_*ang 6 bigdata apache-kafka

如果我有相同的硬件,使用Kafka或我们当前的解决方案(ServiceMix/Camel).有什么区别吗?Kafka可以处理"更大"的数据吗?为什么?

有一篇文章谈论它有多快?但我仍然不清楚为什么Kafka与其他解决方案相比如此之快? 基准测试Apache Kafka:每秒200万次写入(在三台廉价机器上)

phi*_*son 17

卡夫卡很快就出现了很多原因.仅举几例.

  • 零拷贝 - 请参阅https://en.wikipedia.org/wiki/Zero-copy,它基本上直接调用操作系统核心而不是应用程序层来快速移动数据.
  • Chunk中批处理数据 - Kafka就是将数据批量打包成块.这样可以最大限度地减少跨机器延迟,并伴随着所有缓冲/复制.
  • 避免随机磁盘访问 - 因为Kafka是一个不可变的提交日志,它不需要倒回磁盘并执行许多随机I/O操作,只能以顺序方式访问磁盘.这使得它可以从物理磁盘获得与内存相似的速度.
  • 可以水平扩展 - 能够在数千台机器中分布数千个分区,这意味着Kafka可以处理大量负载.