【问题标题】:Multiple Consumers for Kafka topicKafka 主题的多个消费者
【发布时间】:2016-10-01 15:14:36
【问题描述】:

我已经实现了一个类似于本文描述的方式的kafka消费者:http://howtoprogram.xyz/2016/05/29/create-multi-threaded-apache-kafka-consumer/

它的实现方式意味着一个分区只有一个消费者线程。所以我想要 10 个消费者线程,然后我需要 10 个主题分区。

还有其他适用于多线程消费者的工作方法吗?

我也看过这篇文章:https://cwiki.apache.org/confluence/display/KAFKA/Consumer+Group+Example

但是,在我的环境中测试此示例时,我遇到了异常 topic-1395414642817-47bb4df2 can't rebalance after 4 retries

【问题讨论】:

    标签: apache-kafka


    【解决方案1】:

    它的实现方式意味着一个分区只有一个消费者线程。所以我想要 10 个消费者线程,然后我需要 10 个主题分区。

    我假设您希望拥有比分区更多的消费者线程? Kafka 不支持这一点。在 Kafka 中,每个消费者都会监控自己的进度(即,它读取 a 分区的内容——称为它的 offset)。如果您想要比分区更多的消费者线程,那么这些线程将需要以某种方式相互通信以“分配”数据。此模式是非标准的,不支持。它也不会很好地扩展,因为如果你添加更多的消费者,同步开销会很高。

    每个分区只有一个消费者线程可以保持 Kafka 的可扩展性。最佳做法是过度划分您的主题,以便在消费者线程数量方面获得更大的灵活性。

    【讨论】:

      猜你喜欢
      • 2017-01-26
      • 2018-12-31
      • 2018-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-10
      • 2020-10-12
      • 2020-06-03
      相关资源
      最近更新 更多