记录一下实际使用过程中对kafka消费策略的一些想法
kafka消费策略分类
主要分为 earliest
、latest
、none
三种消费策略,一般我们常用的是 earliest
消费策略的详解
1. earliest
的说明
当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,从头开始消费。
这个说明已经很明显了,就是说当前消费者组消费过,也就是说存在提交的offest记录,那么消息
的消费就是紧接着上次的偏移量进行消费,如果当前消费者组没有offest记录,直接从头开始消费。
记录一下自己在实际环境中的一次案例,当然公司项目不可能公布,真实环境都会用代称了。业务是消费kafka消息然后对数据进行清洗处理,然后将数据清洗到elasticsearch 中,在运行一段时间发现es中的数据有些字段没了,这样的情况急坏了现场运维,然后通过对代码进行添加日志重新运行发现数据正常,真的是逼了狗,之前的运维没换包,但是es中错误数据已经跑了快百万的数据了,现在需要重新按照新替换代码进行跑数据了,这样的情况下,让运维修改一下消费者组,并修改消费策略为earliest,不过当然需要将es中的索引全部删除了。