Kafka - 发生这种情况时 - 提交的偏移量大于客户端实际处理的最后一条消息的偏移量
Kafka - when this happens - the committed offset is larger than the offset of the last message the client actually processed
我正在阅读权威指南并遇到这个短语
If the committed offset is larger than the offset of the last message
the client actually processed, all messages between the last processed
offset and the committed offset will be missed by the consumer group.
想知道这是什么时候发生的?我了解提交的偏移量较小的另一个用例,在这种情况下,消费者将不得不离开它而不提交最新的偏移量。
正常使用消息不会发生这种情况。
我刚看了这本书,几页之后解释了如何提交提供的任意偏移量。
之所以提到这里是为了说明客户端可以来回跳转。除了由于错误而不得不重播一些消息之外,我想不出一个很好的理由来使用它,所以应用程序可以在流中来回跳转,在这里和那里重播一些消息。
当启用自动提交并且消息的实际处理(例如,数据库保存、调用另一个下游系统等)花费的时间超过自动提交持续时间(为 auto.commit.interval.ms).在快乐路径场景中,这不会成为问题,但在错误情况下,您可能需要再次轮询相同的消息。出于这个原因,我在我的项目中禁用了用例的自动提交,并且曾经在 "actual processing" 完成后手动提交偏移量。
我正在阅读权威指南并遇到这个短语
If the committed offset is larger than the offset of the last message the client actually processed, all messages between the last processed offset and the committed offset will be missed by the consumer group.
想知道这是什么时候发生的?我了解提交的偏移量较小的另一个用例,在这种情况下,消费者将不得不离开它而不提交最新的偏移量。
正常使用消息不会发生这种情况。
我刚看了这本书,几页之后解释了如何提交提供的任意偏移量。
之所以提到这里是为了说明客户端可以来回跳转。除了由于错误而不得不重播一些消息之外,我想不出一个很好的理由来使用它,所以应用程序可以在流中来回跳转,在这里和那里重播一些消息。
当启用自动提交并且消息的实际处理(例如,数据库保存、调用另一个下游系统等)花费的时间超过自动提交持续时间(为 auto.commit.interval.ms).在快乐路径场景中,这不会成为问题,但在错误情况下,您可能需要再次轮询相同的消息。出于这个原因,我在我的项目中禁用了用例的自动提交,并且曾经在 "actual processing" 完成后手动提交偏移量。