kafka重复消费(总结)

news/2024/7/4 9:43:36

kafka重复消费(总结)

  • 根本原因
  • 解决方法
  • 关键参数配置

根本原因

已经消费的数据,但是offset没有成功提交

具体情况:

  1. 消费者宕机、重启,导致消息已经消费但是未提交offset。
  2. 消费者处理比较耗时,一次poll的数据,在max.poll.interval.ms达到最大值后仍未完成,未提交offest,触发rebalance。
  3. 消费者使用自动提交offset,但当还没有到auto.commit.interval.ms的时间,没来的及提交。有新的消费者加入或者移除,发生了rebalance。
  4. 超过session.timeout.ms的时间未发送心跳包,集群认为consumer宕机,触发rebalance,一般为网络问题。

解决方法

如下几种:

  1. 根据每条消息的平均处理时长,减少每次poll的个数。
  2. 提高max.poll.interval.ms的值。
  3. 给每个消息添加唯一索引,缓存消费过的消息id。
  4. consumer异步处理消息。

关键参数配置

max.poll.records

consumer每次poll的条数。
默认500条

max.poll.interval.ms

两次调用poll取数据的最大延迟时间,超过这个时间消费组会发生rebalance。
默认5分钟

heartbeat.interval.ms

consumer发送心跳包的间隔。
默认3秒

session.timeout.ms

consumer发送心跳包的超时时间。
默认10秒

enbale.auto.commit

是否自动提交offset。
默认为true

auto.commit.interval.ms

当enbale.auto.commit参数设置为 true 时才生效,表示开启自动提交消费位移功能时自动提交消费位移的时间间隔。
默认5秒

参考链接:
kafka重复消费
重复消费解决办法
重要参数配置


http://www.niftyadmin.cn/n/3656062.html

相关文章

GIS自主创新十年路(二) :牛刀小试

GIS自主创新十年路(二) 牛刀小试转载自:http://songguanfu.blog.ccidnet.com/blog-htm-do-showone-uid-33694-type-blog-itemid-187063.html作者:宋关福原文发表时间:2007年9月18日推荐ActiveMap并没有被立即派上用场。当时我们正在给解放军驻…

qtextcodec file not find 问题解决

项目文件.pro中添加 QT core5compat头文件中添加 #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)#include <QtCore/QTextCodec> #else#include <QtCore5Compat/QTextCodec> #endif

springboot升级引入的跨域问题

springboot版本从2.3.3.RELEASE升级到2.5.14后&#xff0c;前端访问后台接口提示跨域问题。 将原来的跨域配置&#xff0c;如下&#xff1a; Configuration public class CorsConfig{Beanpublic CorsFilter corsFilter() {CorsConfiguration config new CorsConfiguration()…

GOOGLE地球浏览器分析(八):Google Earth 2007年最新进展

GOOGLE地球浏览器分析&#xff08;八&#xff09;&#xff1a;Google Earth 2007年最新进展粟卫民http://www.gisdev.cn/ http://blog.csdn.net/suen/ 日期&#xff1a;2007-10-16保留所有版权。如需转载&#xff0c;请联系作者&#xff0c;并在醒目位置注明出处早先在不少国外…

Unsupported class file major version 60

最近项目依赖的一个第三方组件升级了&#xff0c;升级了pom文件依赖之后&#xff0c;发现本地启动报错&#xff0c;如下&#xff1a; 我的java版本是16&#xff0c;springboot的版本是2.3.3.RELEASE&#xff0c;分析发现是springboot的版本不支持java16&#xff0c;需要升级。 …

望一望漫天星光(随笔)

最近看到一些董宇辉直播的片段&#xff0c;多有感概&#xff0c;很多话并不是单纯的鸡汤&#xff0c;而是有思想、有情怀、有原则、有哲学的一些思考&#xff0c;这些是他认知层面带来的&#xff0c;甚至说是他的灵魂所映射出来的。 曾几何时&#xff0c;我也是有这种能力的&a…

RESTful GeoWeb学习手记(三):GeoRSS介绍之一

RESTful GeoWeb学习手记&#xff08;三&#xff09;&#xff1a;GeoRSS介绍之一粟卫民http://www.gisdev.cn/ http://blog.csdn.net/suen/ 日期&#xff1a;2007-9-27本文内容汇编自百度百科、Directions Magazine等&#xff0c;纯为学习研究。如有不妥&#xff0c;请原文作者联…