为什么卡夫卡这么快

时间:2015-09-17 13:06:17

标签: bigdata apache-kafka

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

有一篇文章谈论它有多快?但我仍然不清楚为什么Kafka与其他解决方案相比如此之快? Benchmarking Apache Kafka: 2 Million Writes Per Second (On Three Cheap Machines)

1 个答案:

答案 0 :(得分:16)

由于种种原因,卡夫卡很快。仅举几例。

  • 零拷贝 - 基本上看https://en.wikipedia.org/wiki/Zero-copy 直接调用操作系统核心,而不是在应用程序层移动 数据快。
  • 块中的批处理数据 s - Kafka是关于批处理的 数据分成块。这样可以最大限度地减少所有的跨机器延迟 随之而来的缓冲/复制。
  • 避免随机磁盘访问 - 因为Kafka是一个不可变的提交日志,它不需要倒回磁盘并执行许多随机I / O操作,只能以顺序方式访问磁盘。这使它能够获得类似的速度 物理磁盘与内存相比。
  • 可以水平缩放 - 能够为单个主题传播拥有数千个分区 成千上万的机器意味着卡夫卡可以承受巨大的负荷。