美文网首页
Kafka重复消费数据

Kafka重复消费数据

作者: 大空翼123 | 来源:发表于2021-12-03 08:40 被阅读0次

从消息发送和消息消费两个方面去说。

ACK

0:producer不等待broker的ack,这一操作提供了一个最低的延迟,broker一接收到还没有写入磁盘就已经返回,当broker故障时有可能丢失数据。

1:producer等待broker的ack,partition的leader落盘成功后返回ack,如果在follower同步成功之前leader故障,那么将会丢失数据。

-1:producer等待broker的ack,partition的leader和follower全部落盘成功后才返回ack。但是如果在follower同步完成后,broker发送ack之前,leader发生故障,那么会造成数据重复。

「消费」

写入sink没有提交offset,下次消费还从处理过的offset消费。这个时候要么做到幂等不影响下游。要么就是事务+两阶段提交。

在消费者处理数据慢的时候(消费能力低),消费者会重复消费某个局部数据。在消费能力不变的情况下,陷入死循环。只有在消费能力增强后,才会跳出这个重复消费的死循环。

原理解析:

上图就是完整的kafka消费的过程,在consumer里面配置了一个超时时间。如果步骤2处理消息超时,那么consumer进行第3步会失败。这时候再次进入步骤1拉取重复的数据,如此往复。

相关文章

  • Kafka实际案例问题

    kafka consumer防止数据丢失 Kafka学习之怎么保证不丢,不重复消费数据 1 消费者pull数据时,...

  • Kafka重复消费数据

    从消息发送和消息消费两个方面去说。 「ACK」 0:producer不等待broker的ack,这一操作提供了一个...

  • MQ随记(2)

    如何保证消息不会被重复消费(保证消息消费时的幂等性) kafka 按照数据进入kafka的顺序,kafka会给每条...

  • python3读写kafka

    消费kafka数据,方式一 消费kafka数据,方式二 将消息写入kafka

  • kafka之重复消费数据

    在进入主题之前,我们先思考一个问题。问题 kafka消费者使用自动提交的模式,提交间隔为2s,消费者在获取数据的时...

  • kafka数据丢失与重复

    1、Kafka重复消费原因 底层根本原因:已经消费了数据,但是offset没提交。 原因1:强行kill线程,导致...

  • kafka重复消费

    问题背景 笔者基于java做了一个动态添加topic,并落地数据到Hbase的功能,其他同事在复用消费topic代...

  • Logstash重复消费Kafka的数据

    Logstash消费Kafka的数据,然后输出到Elasticsearch,某一天发现使用Kibana查询不到最近...

  • kafka数据如何被重复消费

    近段时间学习极客时间李玥老师的后端存储实战课时,看到一个很多意思的东西:用kafka存储点击流的数据,并重复处理。...

  • 优雅的使用Kafka Consumer

    如何消费数据 我们已经知道了如何发送数据到Kafka,既然有数据发送,那么肯定就有数据消费,消费者也是Kafka整...

网友评论

      本文标题:Kafka重复消费数据

      本文链接:https://www.haomeiwen.com/subject/ihjyxrtx.html