kafka将消息放回队列,可以吗?

时间:2016-07-20 02:58:20

标签: apache-kafka kafka-consumer-api

我想知道是否可以将消息从kafka消费者放回队列?什么是最佳做法?

我的情况是:

我有kafka队列消息A B C,然后消费者拿A,处理它,队列变成B C并且发生了一些不好的事情,然后我想把它放回队列。最后一个状态是B C A.我不想重试。

感谢。

1 个答案:

答案 0 :(得分:1)

在kafka中,每个分区都是一个有序的immutable消息序列,它会不断附加到提交日志中。 It is impossible放回失败的消息并更改失败消息的顺序。(从ABC到BCA)。

通常当消费者使用A并且无法在第一时间使用它时,您可以重试它或手动控制消费者偏移并且不提交它。 (您可以参考Manual Offset Control了解详情)