0
点赞
收藏
分享

微信扫一扫

kafka丢消息的几种情况

闲鱼不咸_99f1 2022-04-26 阅读 106
kafka

生产者producer丢消息

Caused by: org.apache.kafka.common.errors.TimeoutException: Expiring 3 record(s) for bos-ma-audience-next-node-finish-insert-2: 43272 ms has passed since last append

原因:网络抖动发送超时、record-buffer内存满(异步发送消息,未被回收)等

解决办法:采用同步发送、限流、增大reties重试次数、调小batch数量

broker丢消息

原因:异步刷盘,消息还没从page cache刷到缓存,从page cache

解决办法:理论上没办法解决,只能通过调整刷盘机制的参数缓解该情况。减少刷盘间隔,减少刷盘数据量大小,修改acks参数等

消费者丢消息

原因:自动提交方式,消息一经提交,但是程序执行失败了。

解决办法:手动提交,会出现重复小消费,需要增加幂等控制,保证至少消费一次at least once

举报

相关推荐

0 条评论