先处理消费端的丢失数据和重复消费 这俩种情况都是 消息偏移offset的问题导致的,只是场景不同。 offset位移提交一般有俩种方式,自动位移提交和手动位移提交。用enable.auto.commit这个配置属性去控制 丢失消息一般是自动提交的问题,所以切换成手动位移提交就可以 ...
近段时间学习极客时间李玥老师的后端存储实战课时,看到一个很多意思的东西:用kafka存储点击流的数据,并重复处理。在以往的使用中,kafka只是一个消息传输的载体,消息被消费后就不能再次消费。新知识与印象相冲突,于是就有了本篇文章:kafka数据如何被重复消费。 前期理论了解 首先我先去官网纠正了我对kafka的整体了解。 官网对kafka的描述是:一个分布式流平台。怪自己的学艺不精。 其次,我重 ...
2020-09-13 23:09 0 1055 推荐指数:
先处理消费端的丢失数据和重复消费 这俩种情况都是 消息偏移offset的问题导致的,只是场景不同。 offset位移提交一般有俩种方式,自动位移提交和手动位移提交。用enable.auto.commit这个配置属性去控制 丢失消息一般是自动提交的问题,所以切换成手动位移提交就可以 ...
Kafka作为当下流行的高并发消息中间件,大量用于数据采集,实时处理等场景,我们在享受他的高并发,高可靠时,还是不得不面对可能存在的问题,最常见的就是丢包,重发问题。 1、丢包问题:消息推送服务,每天早上,手机上各终端都会给用户推送消息,这时候流量剧增,可能会出现kafka发送数据过快,导致 ...
Kafka重复消费原因 底层根本原因:已经消费了数据,但是offset没提交。 原因1:强行kill线程,导致消费后的数据,offset没有提交。 原因2:设置offset为自动提交,关闭kafka时,如果在close之前,调用 consumer.unsubscribe ...
面试官:今天我想问下,你觉得Kafka会丢数据吗? 候选者:嗯,使用Kafka时,有可能会有以下场景会丢消息 候选者:比如说,我们用Producer发消息至Broker的时候,就有可能会丢消息 候选者:如果你不想丢消息,那在发送消息的时候,需要选择带有 callBack的api进行发送 ...
一、重复消费的原因 消息重复消费的根本原因都在于:已经消费了数据,但是offset没有成功提交。 其中很大一部分原因在于发生了再均衡。 1)消费者宕机、重启等。导致消息已经消费但是没有提交offset。 2)消费者使用自动提交offset,但当还没有提交的时候,有新 ...
场景: kafka先批量拉取消息,完了将拉下来的消息逐条消费,假如此次共拉取40条消息,但在处理第31条时,线程被停掉,就会导致已消费消息offet不会被提交,接下来已经被消费的30条记录还会被重复消费,这就是kafka重复消费的另一场景; 解决思路: 解决此类重复消费的方式:将能够唯一标识 ...
重复消费的原因 消息重复消费的根本原因都在于:已经消费了数据,但是offset没有成功提交。 其中很大一部分原因在于发生了再均衡。 1)消费者宕机、重启等。导致消息已经消费但是没有提交offset。 2)消费者使用自动提交offset,但当还没有提交的时候,有新 ...
Kafka如何保证数据不重复消费,不丢失数据 不重复消费: 1.幂等操作,重复消费不会产生问题 2. dstream.foreachRDD {(rdd, time) = rdd.foreachPartition { partitionIterator => val ...