Kafka SimpleConsumer(低级消费者)用例/优势

时间:2016-07-08 14:47:45

标签: apache-kafka kafka-consumer-api

只有SimpleConsumer API可以控制每个消费者从哪个分区检索数据,据说它具有更好的偏移管理。有人可以详细解释我在什么情况下使用较不复杂的高级消费者需要这种细粒度控制。谢谢。

2 个答案:

答案 0 :(得分:2)

当您想要完全控制消费者行为时:

  • 在出现网络通信问题时无限次重试代理
  • 从特定主题分区中读取数据
  • 您自己的偏移管理(在db中存储偏移量)
  • 简单 - 它不关心其他消费者实例,因此不需要重新平衡。

答案 1 :(得分:1)

实际上,新的消费者API是简单和高级API集的很好组合。 seek()和assign()方法提供了您提到的行为。

无论哪种方式,一种情况涉及为不同的分区分配优先级:例如,分区0可能是低优先级消息,而分区1可能具有高优先级消息。在这种情况下,您需要在使用来自分区0的任何消息之前使用来自分区1的消息。在这种情况下,必须能够指示Kafka从一个特定分区读取。