【问题标题】:Does Kafka really need SSD disk? [closed]Kafka真的需要SSD盘吗? [关闭]
【发布时间】:2020-12-02 13:20:27
【问题描述】:

我们对 kafka 机器需要的磁盘类型有点困惑。

在生产环境中的 Kafka 集群中,我们有生产者、3 个 kafka 代理和消费者。

当生产者向主题推送数据,消费者从主题中读取数据时, 如何避免消费者尝试从主题分区中读取数据但数据不在主题内的情况?

第二 - 由于我们在 Kafka 代理中不使用 SSD 磁盘,如何知道消费者何时从内存缓存或磁盘中读取数据?

【问题讨论】:

  • 您是否在任何地方找到了表明 SSD 更适合 Kafka 的参考资料?听起来像一个XY问题。您所说的“不在主题内的数据”是什么意思?

标签: memory apache-kafka kafka-consumer-api kafka-producer-api


【解决方案1】:

如何避免消费者尝试从主题中读取数据的情况 分区但数据不在主题内?

Kafka 按顺序读取数据,因此没有随机访问。这就是为什么您无法读取特定数据的原因。 (您可以指定要读取的偏移量)

另外,由于没有随机访问,使用 SSD 对性能没有显着影响。

来自 cloudera 博客 (link):

使用 SSD 代替旋转磁盘并未显示出提供 Kafka 的性能显着提升,主要有两个原因:

  • Kafka 写入磁盘是异步的。也就是说,除了在启动/关闭时,没有 Kafka 操作等待磁盘同步到
    完全的;磁盘同步始终在后台。这就是为什么
    复制到至少三个副本至关重要——因为一个
    副本将丢失尚未同步到磁盘的数据,如果它
    崩溃。

  • 每个 Kafka 分区都存储为顺序预写日志。因此,Kafka 中的磁盘读写是顺序的,很少有 随机寻找。顺序读取和写入经过大量优化 现代操作系统。

【讨论】:

    【解决方案2】:

    当消费者比生产者慢时,SSD 会有所帮助,这是很有可能的。 当消费者速度慢时,文件系统缓存未命中, 然后随机访问发生,旋转磁盘将导致最坏的情况。

    【讨论】:

      猜你喜欢
      • 2011-11-23
      • 1970-01-01
      • 1970-01-01
      • 2012-12-19
      • 1970-01-01
      • 1970-01-01
      • 2011-12-09
      • 2019-10-29
      • 2021-04-26
      相关资源
      最近更新 更多