福建永安建设局网站,深圳网站营销推广公司,如何做好网络销售技巧,wordpress上传图片自动添加属性ack提交时#xff0c;存在重复消费#xff1f;#xff1f;
往consumer监听的topic中#xff0c;增加了一条数据#xff0c;但是代码消费了好几次#xff0c;而且确实也走ack.acknowledge();这块逻辑了#xff0c;因为处理的逻辑是要入库的#xff0c;导致数据多了好几…ack提交时存在重复消费
往consumer监听的topic中增加了一条数据但是代码消费了好几次而且确实也走ack.acknowledge();这块逻辑了因为处理的逻辑是要入库的导致数据多了好几条后排查得知是配置问题 … spring.kafka.consumer.enable-auto-committrue spring.kafka.consumer.auto-offset-resetlatest 代码是刚拿到手没有注意这块配置问题因为上述配置导致重复消费改成下面这种就可以了 … spring.kafka.consumer.enable-auto-commitfalse spring.kafka.consumer.auto-offset-resetlatest
原因一旦设置了 enable.auto.commit 为 trueKafka 会保证在开始调用 poll 方法时提交上次 poll 返回的所有消息。从顺序上来说poll 方法的逻辑是先提交上一批消息的位移再处理下一批消息提交顺序问题导致重复消费