美文网首页
生产故障-Kafka分区不平衡

生产故障-Kafka分区不平衡

作者: 天不生我小金 | 来源:发表于2021-02-17 18:16 被阅读0次

前言:该博客主要是记录自己学习的过程,方便以后查看,当然也希望能够帮到大家。

生产故障-Kafka分区不平衡

故障描述:有个别服务的数据有部分没有上报,导致推荐页展示过期已删除的文章,业务端重新上报时,发现上报的数据迟迟没有送到指定服务,经过观察日志发现,kakfa的消息延迟了7个小时左右

定位原因:

  1. 指定服务为单节点部署,所在的机器负载基本是满的

处理过程:

  1. 将该服务改为多节点部署,发现只有一个节点能正常消费,其他节点都在空等待状态,定位出的原因为:该topic的分区只有一个,所以同一消费组,只能被一个节点进行消费
  2. 重建topic,改为12个分区后,再观察情况发现:每个分区的消息不平衡,有很多分区的消息数为0,经查验资料后发现: 如果key的值不为空,会根据key的值hash后分配到分区,也就是说相同的key,会分配到同一个分区上,最后去掉生产者的key得以解决

解决方案:

  1. 确保kafka分区的数量超过同消费组内节点的数量
  2. 不同业务的topic要隔离开来,不要互相干扰
  3. 对消息积压情况进行告警,比如大数据只能延迟 5 分钟,业务数据延迟控制在秒内
  4. kafka的key不为空时,会根据key hash后路由到分区,要对key的命名使用注意

后记:本次分享到此结束,本人水平有限,难免有错误或遗漏之处,望大家指正和谅解,欢迎评论留言。

相关文章

  • 生产故障-Kafka分区不平衡

    前言:该博客主要是记录自己学习的过程,方便以后查看,当然也希望能够帮到大家。 生产故障-Kafka分区不平衡 故障...

  • 数据写入kafka的分区策略

    众所周知,kafka有分区的概念,生产者写入数据到kafka,涉及到数据到底写到哪个分区?kafka api提供了...

  • kafka理解

    kafka生产者、消费者与分区的分配关系 生产者如何传输到分区消费者如何从分区读取生产者、消费者与分区的关系 主题...

  • kafka发送消息分区选择策略

    发送kafka:(版本0.10.11) kafka 生产者发送消息分区选择策略 通过跟踪send方法,发现Kafk...

  • Kafka 消费者的分配策略

    这里要与 Kafka 生产者的分区规则区分开。 生产者的分区规则指的是:生产者在生产数据过程中,一个Topic有多...

  • kafka_05_Kafka的分区器

    Kafka 分区器 我们知道,Kafka中的每个Topic一般会分配N个Partition,那么生产者(Produ...

  • 图解Kafka消费者分区分配策略

    1. 分配策略的作用 我们在分析生产者的时候有专门写过文章分析生产者的分区分配策略 Kafka生产者的3种分区策略...

  • 三 Kafka生产者分区策略,Java API

    Kafka生产者 1. 分区策略 1.1 分区的原因 (1) 方便在集群中扩展,提高集群的负载能力(2) 可以提高...

  • kafka 基础知识大全

    本文包括kafka的定义、安装、启动、架构、工作流程、原理、生产者、消费者、分区、ISR节点、HW、分区分配策略、...

  • Kafka-生产及分区

    1.分区原因: 负载均衡+提高并发性 2.分区原则 封装为一个ProducerRecord对象 参数 : t...

网友评论

      本文标题:生产故障-Kafka分区不平衡

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