背景

        Kafka作为目前主流的消息中间件,被广泛的应用在了生产环境中。消息积压是日常生产经常遇到的问题,下面我们来展开了说一下。

积压原因

  1. 上游数据激增(生产侧原因):由于业务系统,访问量徒增,如热点事件,热门活动等,导致了大量的数据涌入业务系统,有可能导致消息积压
  2. consumer程序挂掉(消费侧原因):由于下游consumer程序故障也会导致大量消息未消费,从而造成消息积压。
  3. kafka数据倾斜问题: producer 写入数据时候设置的key 发生数据倾斜,导致过度数据写入少量partition。

解决方法

  1. 扩容consumer,增加消费能力,从而处理积压数据。
  2. 如果发现是数据倾斜问题,可以在producer测加盐,环节倾斜问题。
  3. 部分场景下,历史数据是没有意义的,比如:股价价格,天气数据,可以重置consumer的offset,直接从latest 消费。
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐