kafka消费者,一条消息没有消费完,是什么问题呢try{ while(true){ ConsumerRecord records=consumer.poll(100)

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)时,可能返回给你的数据格式有问题,你进行业务处理时出错了,结果您忽略异常了,他就继续下一条了

img


会不会是你消费的逻辑比较复杂,导致接口超时呢?poll(100)、poll(1500)这里的参数表示,轮询获取消息,设置的超时时间而已

如果问题没有得到解决,借鉴下这种提交方式【Kafka的消费者提交方式手动同步提交、和异步提交】:http://t.zoukankan.com/biehongli-p-14105658.html
【仅供参考】

空间不够?
https://blog.csdn.net/WMLWONDER/article/details/41680539

try()catch觉得有点奇怪

本地Test一下看下你的业务代码执行时间是多少,如果耗时超过1秒,改用事务消息,注意同步提交会损耗性能,根据你具体的业务处理。
如果耗时在一秒以内,并且该消息是无关紧要的,可以考虑普通消息。

有报错吗,打下断点