美文网首页
2022-02-15 带宽瓶颈导致kafka消费无法rebala

2022-02-15 带宽瓶颈导致kafka消费无法rebala

作者: 王帅199207 | 来源:发表于2022-02-15 14:24 被阅读0次

美西机器消费宁夏kafka集群 跨洋网络消费 公司带宽有限制为20m

应用消费topic多 concurrency高 两台机器加起来有200+线程同时消费

问题:重启机器后 kafka rebalance期间 两台机器cpu同时飙高99% 跨洋专线带宽占满 导致服务端收不到心跳 又重新开始rebalance 进入恶性循环

原因:每次rebalance完成后,所有消费者线程获知各自被分配的partition,同时去kafka服务器拉取消息,导致瞬间带宽被占满,
稳定消费时带宽占用没有这么高是由于各消费线程拉取消息的时机不是完全同步

解决:每次服务端kafka消费线程收到rebalance完成自己被分配的消费分区时,不马上开始拉取消息,而是阻塞一段时间,错开rebalance完成后第一次消费的时机,减少瞬间带宽占用

public class MyListener extends AbstractConsumerSeekAware {

    @KafkaListener(id = "xxx", topics = "yyy")
    public void listen(String in) {
        ...
    }

    @Override
    public void onPartitionsAssigned(Map<TopicPartition, Long> assignments, ConsumerSeekCallback callback) {
        super.onPartitionsAssigned(assignments, callback);
        // 线上环境 每次consumer线程被分配了消费分区之后 第一次消费前阻塞随机时间 减少带宽瞬间被占满的情况
        try {
            String[] arr = Optional.ofNullable(onPartitionsAssignedBlockRange).orElse("0,0").split(",");
            Thread.sleep(RandomUtils.nextInt(Integer.parseInt(arr[0]), Integer.parseInt(arr[1])));
        } catch (InterruptedException e) {
            log.error("sleep interrupted.", e);
            Thread.currentThread().interrupt();
        } catch (Exception e) {
            log.error("onPartitionsAssigned exception", e);
        }
    }

}

相关文章

  • 2022-02-15 带宽瓶颈导致kafka消费无法rebala

    美西机器消费宁夏kafka集群 跨洋网络消费 公司带宽有限制为20m 应用消费topic多 concurrenc...

  • kafka无法消费

    自己动手写了一个kafka消费实例,但是执行时总是报错: 在kafka的配置文件server.properties...

  • kafka 消息堆积解决

    一 :背景 线上kafka消费端因日志异常的解决导致消息堆积。 二 : 日志异常解决导致消息堆积 线上kafka消...

  • python3读写kafka

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

  • spark优化指南

    Spark 程序可能由集群中的任何资源( CPU ,网络带宽或内存)导致瓶颈。首先我们先来介绍了一下spark内存...

  • kafka数据丢失与重复

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

  • DevOps与自动化运维实战二

    本文继续讲述。 web socket 以前老的浏览器是采用轮询的方式进行即时通信,这样会导致压力瓶颈,消耗大量带宽...

  • The coordinator is not available

    kafka consumer group 无法消费数据打开debug日志查看具体原因(此处是logback配置) ...

  • 【Kafka】Kafka 常用命令

    本篇结构: kafka topic 管理脚本 kafka 生产者控制台 kafka 消费者控制台 kafka 消费...

  • SpringBoot配置kafka多数据源消费

    Kafka配置文件 Kafka消费 =====================上面在Kafka 1.0.6.REL...

网友评论

      本文标题:2022-02-15 带宽瓶颈导致kafka消费无法rebala

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