kakfa数据积压问题解决

2023-04-24  本文已影响0人  催化剂

参考链接:https://developer.aliyun.com/article/1093853?spm=a2c6h.24874632.expert-profile.73.3b603d2avZzIxD

1、增加broker节点,增加分区数量,提高并行度

2、修改单个消费为批量消费

3、增加单线程消费为线程池异步消费

4、缩短批次时间间隔;

5、老版本SparkStreaming控制消费的速率(spark.streaming.kafka.maxRatePerPartition),可以控制最大的消费速率,在参数中设置;新版本设置背压机制实现消费处理的动态平衡。

6.对代码进行优化,尽可能的一次性计算多个结果,减少shuffer过程;

7.处理的结果如果过多,可以将数据保存到MySQL集群、MongoDB集群【支持事物】或ES【不支持事物】,增大吞吐量

8、消费线程将拉取的消息放到一个滑动窗口中,通过滑动窗口控制拉取的速度

9、对于倾斜的key加以处理,加随机数扽等方式打散

参考:http://niyanchun.com/kafka-multi-thread-consumer.html

上一篇下一篇

猜你喜欢

热点阅读