美文网首页
kafka重复消费

kafka重复消费

作者: 无色的叶 | 来源:发表于2019-09-16 08:39 被阅读0次

问题背景

笔者基于java做了一个动态添加topic,并落地数据到Hbase的功能,其他同事在复用消费topic代码做实时统计时,出现重复消费,导致统计结果不准的现象,因为写入数据到Hbase是幂等的,重复消费所以未出现问题,但是重复消费会影响到统计结果

问题原因

使用Kafka时,禁止offset自动提交,消费者每次poll的数据业务处理时间超过kafka的max.poll.interval.ms,默认是300秒,导致kafka的broker认为consumer挂掉,触发kafka进行rebalance动作,导致重新消费

解决方式

一般消费方式如下:

consumer.subscribe(topicName,rebalance)
consumer.poll(100)

上述消费方式都会存在处理消息时长超过max.poll.interval.ms配置值风险,导致rebalance,所以最根本的解决方式,就是避免kafka进行rebalance动作,消费代码可使用如下方式

final List<TopicPartition> newPartitionAssignments =
                new ArrayList<>(newPartitions.size() + oldPartitionAssignmentsToPosition.size());
newPartitionAssignments.addAll(oldPartitionAssignmentsToPosition.keySet());
newPartitionAssignments.addAll(convertKafkaPartitions(newPartitions));

// reassign with the new partitions
consumer.assign(newPartitionAssignments);
consumer.seek(topicPartition, offset)

主要思想是consumer指定消费topic的对应的分区,并从指定offset进行消费,来避免kafka的rebalance动作,引起重复消费,当然这会增加消费逻辑的复杂度,需考虑很多异常情况,如consumer实例下线怎么处理,新增consumer实例,超过topic分区数怎么处理等等,可参照spark structure streaming,flink消费kafka源码实现

相关文章

  • kafka重复消费

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

  • MQ随记(2)

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

  • Kafka实际案例问题

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

  • Flink Kafka重复消费

    项目中使用了Flink平台实现了规则引擎功能,主要包括:数据转发和场景联动。其间多job问题一直困扰着我们,目前也...

  • Kafka重复消费数据

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

  • Kafka 入门代码示例

    kafka 生产者 配置类 发送端 消费者 Kafka中的消息消费是一个不断轮询的过程,消费者所要做的就是重复地调...

  • Kafka中消息丢失和重复消费,以及Leader选举机制

    一、Kafka中的消息是否会丢失和重复消费 要确定Kafka的消息是否丢失或重复,从两个方面分析入手:消息发送和消...

  • logstash 重复消费kafka问题

    前两天业务方突然找到我说当天索引ES查询很慢,原来毫秒级的查询现在竟然要20s,让我处理下。我看了下索引大小,原来...

  • kafka之重复消费数据

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

  • kafka重复消费的原因

    使用了自动提交 如果自动提交的偏移量小于客户端处理的最后一个消息的偏移量,那么处于两个偏移量之间的消息就会被重复处...

网友评论

      本文标题:kafka重复消费

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