kafka消费者,手动提交,一条消息没有消费完,直接中途结束了,开始消费下一条记录,是什么问题呢
try{
while(true){
ConsumerRecord records=consumer.poll(100);
for(ConsumerRecord record:records){
//消费
}
consumer.commitAsync();
}
}catche(Exception e)
{
}
finally{
consumer.commitSync()
}
poll(100)的时候,一条记录可完整的消费,poll(1500),一条记录消费到一半,就开始消费下一条记录了
你不要忽略异常,poll(1500)时,可能返回给你的数据格式有问题,你进行业务处理时出错了,结果您忽略异常了,他就继续下一条了
如果问题没有得到解决,借鉴下这种提交方式【Kafka的消费者提交方式手动同步提交、和异步提交】:http://t.zoukankan.com/biehongli-p-14105658.html
【仅供参考】
空间不够?
https://blog.csdn.net/WMLWONDER/article/details/41680539
try()catch觉得有点奇怪
本地Test一下看下你的业务代码执行时间是多少,如果耗时超过1秒,改用事务消息,注意同步提交会损耗性能,根据你具体的业务处理。
如果耗时在一秒以内,并且该消息是无关紧要的,可以考虑普通消息。
有报错吗,打下断点