kafka批量拉一部分数据,消费过程中抛错,剩下数据丢失咋解决
比如一次拉500条数据下来处理,
当处理第100条时由于数据问题导致程序报错了,那么101-500这些数据就没被消费了
下一批数据就会从501-1000
以前看到过这种情况,如果一批数据处理中有任何报错,下次消费从报错这批数据的第一个offset继续消费,这样保证每批数据至少不漏消费
请问实现这种场景怎么配置的,现在用kafka+springboot测试不是这种效果
最后,还有什么更好的方法,解决这种漏消费问题么,尽量保证不丢,适当重复也可以
相关推荐
netty4推送+kafka消费
netty获取kafka的消费信息,然后推送到html中。
kafka分区消费策略
kafka指定分区消费,发送到指定分区
Apache Flink如何管理Kafka消费者offsets
Apache Flink如何管理Kafka消费者offsets
golang kafka sarama 消费者组
之前用kafka,没在网上找到关于 sarama消费者组的代码。后来才在源码里面找到例子,现在稍微修改了下代码,记录一下。 package main import ( context github.com/Shopify/sarama log github.com/sirupsen/logrus os os/signal sync syscall time ) type Kafka struct { brokers []string topics []string //OffsetNewest int64 = -1 //OffsetO
Kafka常见问题整理
1、Kafka如何防止数据丢失 1)消费端弄丢数据 消费者在消费完消息之后需要执行消费位移的提交,该消费位移表示下一条需要拉取的消息的位置。Kafka默认位移提交方式是自动提交,但它不是在你每消费一次数据之后就提交一次位移,而是每隔5秒将拉取到的每个分区中的最大的消费位移进行提交。自动位移提交在正常情况下不会发生消息丢失或重复消费的现象,唯一可能的情况,你拉取到消息后,消费者那边刚好进行了位移提交,Kafka那边以为你已经消费了这条消息,其实你刚开始准备对这条消息进行业务处理,但你还没处理完,然后因为某些原因,自己挂掉了,当你服务恢复后再去消费,那就是消费下一条消息了,那么这条未处理的消息


