Spring云流手动抵消管理

时间:2016-11-16 07:48:54

标签: java spring apache-kafka spring-cloud-stream

我可以使用Spring Cloud Steam实现手动Kafka偏移管理,如下所示:

  1. 每当我的消费者处理消息时,它都会将其偏移量提交到DB中。不是卡夫卡
  2. 每当我的消费者重新启动时,它会从数据库读取最后一个处理过的偏移量,寻找该偏移并开始处理下一条消息。

1 个答案:

答案 0 :(得分:0)

Spring Cloud Stream允许您手动确认消费者应用程序中的消息。不确定为什么要将偏移量保留在DB中(可能是您的需要)。但我想知道使用手动确认模式是否有助于你的情况。

您可以通过将spring.cloud.stream.kafka.bindings.<inboundChannelName>.consumer.autoCommitOffset设置为false来使用手动确认模式,并仅在消费者处理完消息后手动确认消息。您可以找到示例here