【发布时间】:2019-03-23 19:03:23
【问题描述】:
我有 spring kafka 消费者应用程序。该应用程序充当通道,通过它轮询来自 kafka 代理的消息并发送到 IBM MQ。在失败的情况下存储偏移量的最佳/最简单的方法是什么?
【问题讨论】:
标签: spring-boot apache-kafka kafka-consumer-api spring-kafka
我有 spring kafka 消费者应用程序。该应用程序充当通道,通过它轮询来自 kafka 代理的消息并发送到 IBM MQ。在失败的情况下存储偏移量的最佳/最简单的方法是什么?
【问题讨论】:
标签: spring-boot apache-kafka kafka-consumer-api spring-kafka
最简单的方法是使用kafka本身存储偏移量的默认机制。
如果您添加SeekToCurrentErrorHandler,容器将继续重新传递侦听器中失败的记录,默认最多 10 次,但可以配置为无限重试。
如果您添加有状态重试,则侦听器适配器可以在每次交付尝试之间添加延迟。
ackOnError 应设置为false。
【讨论】: