分布式消息服务KAFKA版-业务过载处理建议:方案概述

时间:2024-10-14 10:58:41

方案概述

Kafka业务过载,一般表现为CPU使用率高、磁盘写满的现象。

  • 当CPU使用率过高时,系统的运行速度会降低,并有加速硬件损坏的风险。
  • 当磁盘写满时,相应磁盘上的Kafka日志目录会出现offline问题。此时,该磁盘上的分区副本不可读写,降低了分区的可用性和容错能力。同时由于Leader分区迁移到其他节点,会增加其他节点的负载。

CPU使用率高的原因

  • 数据操作相关线程数(num.io.threads、num.network.threads、num.replica.fetchers)过多,导致CPU繁忙。
  • 分区设置不合理,所有的生产和消费都集中在某个节点上,导致CPU利用率高。

磁盘写满的原因

  • 业务数据增长较快,已有的磁盘空间不能满足业务数据需要。
  • 节点内磁盘使用率不均衡,生产的消息集中在某个分区,导致分区所在的磁盘写满。
  • Topic的数据老化时间设置过大,保存了过多的历史数据,容易导致磁盘写满。
support.huaweicloud.com/bestpractice-kafka/Kafka_bp_0007.html