只有SimpleConsumer API可以控制每个消费者从哪个分区检索数据,据说它具有更好的偏移管理。有人可以详细解释我在什么情况下使用较不复杂的高级消费者需要这种细粒度控制。谢谢。
答案 0 :(得分:2)
当您想要完全控制消费者行为时:
答案 1 :(得分:1)
实际上,新的消费者API是简单和高级API集的很好组合。 seek()和assign()方法提供了您提到的行为。
无论哪种方式,一种情况涉及为不同的分区分配优先级:例如,分区0可能是低优先级消息,而分区1可能具有高优先级消息。在这种情况下,您需要在使用来自分区0的任何消息之前使用来自分区1的消息。在这种情况下,必须能够指示Kafka从一个特定分区读取。