首页 > 其他分享 >Kafka Reblance & max.poll.interval.ms 重复消费问题

Kafka Reblance & max.poll.interval.ms 重复消费问题

时间:2022-12-30 15:58:19浏览次数:65  
标签:消费 max interval Kafka 实例 ms poll

1. 什么是kafka Reblance

    消费组是MQ中一个非常重要的概念,一个消费组监听一个Topic时,Kafka服务端会给消费组中的每一个实例,进行队列分配,每一个实例指定消费一个或多个队列(分区),当然如果消费实例数量如果超出了队列数量,那么会出现消费实例不监听任何队列的情况。
    当一个消费实例加入或者退出消费组时,那么消费实例的数量会变化,服务端有责任将消息队列(分区), 尽可能均衡的平分给所有消费实例,这是就会出现rebalance。

2. 什么是max.poll.interval.ms

     max.poll.interval.ms 消费端的配置参数:最大poll间隔毫秒数,指定两次poll的最大间隔,默认5分钟。如果超出了,那么Kafka服务端会认为当前消费实例,已经不可用了,那么这个时候消费组的实例数量就会减1,同步导致需要rebalance。

max.poll.interval.ms

3. 重复消费在什么情况下会和以上信息产生关联

     当一个消费实例poll一次之后,进行业务逻辑处理,如果处理的时间过长,超出了max.poll.interval.ms,此时虽然消费实例依然活着,但是Kafka服务端已经认为该实例不可用,那么进行reblance,把当前属于该实例的队列(分区) 分配给其他实例,由于这些被消费的队列的offset还没有被提交,导致新的消费实例会重新消费当前的消息。

4. 合理的建议

     一次poll少量的数据保证业务处理时间不会超出 max.poll.interval.ms 的配置,同时增加消费的幂等逻辑。

5. 为什么Kafka会用poll的频率来判定实例的死活呢?

     通常判定实例的可用性,一般是通过心跳机制来实现,但是似乎早期的Kafka没有心跳机制,且消费端的poll轮询,在某种程度上等同于心跳,所以才会有通过poll频率来判定实例是否可用。KIP-62及之后,引入了单独的心跳线程,max.poll.interval.ms是poll最大间隔秒数,session.timeout.ms是心跳间隔最大秒数,默认30秒,不论哪一个超时都会导致消费实例被下线。具体可参见这个stackOverFlow里的这个回答

标签:消费,max,interval,Kafka,实例,ms,poll
From: https://www.cnblogs.com/IC1101/p/17015070.html

相关文章

  • Kafka的终极UI工具丨Offset Explorer功能简介
    OffsetExplorer(以前称为KafkaTool)是一个用于管理和使ApacheKafka®集群的GUI应用程序。它提供了一个直观的UI,允许人们快速查看Kafka集群中的对象以及存储在集群主题......
  • 模拟spring-kafka实现kafka的consumer监听
    背景:因为某些原因,无法直接使用springboot提供的@KafkaListener,改为模拟springboot注解的方式搬过来实现首先创建一个业务处理的service,这个service主要用于消费下来的消息......
  • torch.nn.MaxPool2d()
    torch.nn.MaxPool2d(kernel_size, stride=None, padding=0, dilation=1, return_indices=False, ceil_mode=False)\(2D\)最大池化。参数:kernel_size:最大池化......
  • Kafka集群升级实施方案
    一、背景我们组内维护的kafka集群承担着公司绝大部分实时数据的收集传输任务。但是,现阶段存在如下问题,已经对集群的稳定性、用户的使用以及管理员的运维造成了很大影响:1......
  • 三分钟带你对 Softmax 划重点
    微信公众号:AI有道(ID:redstonewill)1.什么是SoftmaxSoftmax在机器学习和深度学习中有着非常广泛的应用。尤其在处理多分类(C>2)问题,分类器最后的输出单元需要Softmax函数进......
  • kafka如何处理大量积压消息
    1.consumer导致kafka积压了大量消息方法:1.增大partion数量,2.消费者加了并发,服务,扩大消费线程3.增加消费组服务数量4.kafka单机升级成了集群5.避免消费者消费消息时......
  • Kafka设计解析(三)- Kafka High Availability
    摘要本文在上篇文章基础上,更加深入讲解了Kafka的HA机制,主要阐述了HA相关各种场景,如Brokerfailover,Controllerfailover,Topic创建/删除,Broker启动,Follower从Leaderfe......
  • Kafka核心技术与实战
    Kafka入门消息引擎系统:开源的消息引擎系统,实现松耦合的异步式数据传递常见传输协议:点对点;发布/订阅模型作用:削峰填谷Kafka相关术语消息record:kafka处理的对象主......
  • Ubuntu 16.04 64位安装kafka
    在Ubuntu下安装完成kafka需要以下主要的2个步骤:1.安装jdk1.8以上版本。2.安装zookeeper.开始以上操作步骤:3.安装jdk.先下载jdk,url:https://www.oracle.com/java/t......
  • 【题解】P5298 [PKUWC2018]Minimax
    P5298[PKUWC2018]Minimax思路线段树合并优化树形dp.值域1e9首先考虑离散化。然后发现需要维护每种权值的出现概率,于是可以考虑到一个简单的树形dp:设\(f[i][j]\)......