如何管理卡夫卡偏移复位以进行并行消耗?

时间:2020-02-26 16:43:55

标签: java apache-kafka kafka-consumer-api spring-kafka

我想更好地了解Kafka消息重试过程。 我听说可以使用2个选项来解决无法处理消耗的消息的问题:

  1. SeekToCurrentErrorHandler(偏移量重置)
  2. 将消息发布到死信队列(DLQ)

第二个选项非常清楚,如果消息无法处理,则将其简单地推送到错误队列。我对第一种选择感到好奇。

AFAIK,第一个选项是使用最广泛的选项,但是当多个使用者同时使用同一主题的消息时,它如何工作?如果特定消息失败,是否可以将使用者ID的偏移量重置为该消息的偏移量,是否可行?成功同时处理/失败的消息之后会发生什么,会对其进行重新处理吗?

您如何建议我处理邮件重试?

1 个答案:

答案 0 :(得分:1)

每个分区只能由一个使用者使用。

拥有多个使用者时,必须至少具有该数量的分区。

为每个分区维护偏移量;错误处理程序将只能对分配给该使用者的分区执行查找。

相关问题