Kafka SimpleConsumer(低级消费者)使用 cases/advantages

Kafka SimpleConsumer (Low level consumer) use cases/advantages

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

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

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

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

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