【发布时间】:2017-01-26 14:53:50
【问题描述】:
我正在尝试在 Java 上实现 Kafka 消费者。
假设消费者包含一些可能引发异常的消息处理逻辑。在这种情况下,消费者应该休眠一段时间并重新处理最后一条消息。
我的想法是使用手动偏移管理:偏移不会在失败时提交,因此消费者可能会从旧偏移中读取。
在测试过程中,我发现一条消息实际上只读取了一次,尽管没有提交偏移量。仅在应用程序重新启动时才考虑上次提交的偏移量。
我的问题是:
- 我的做法是否正确?
- 手动偏移管理有哪些用例?
【问题讨论】:
标签: apache-kafka kafka-consumer-api