Kafka消息队列出现挤压如何解决?

如果 Kafka 中出现大量消息积压,消费速度长期低于生产速度,应该怎么处理?

1先快速解决线上问题,看一下积压的是什么topic业务的数据,如果是日志、埋点、推荐系统的可以直接丢掉,让订单、支付等核心业务逻辑去跑。 本质是快速止血,减少业务的损失。

2如果已经是核心业务逻辑积压了,同一个消费者组里面,消费者数量要大于topic分区数,分区不足先扩容分区,再增加消费者的数量,提升并行消费能力。 一个消费者只能消费一个topic分区的数据,如果直接加消费者不加分区那边也是没有用的

3可以提高消费者每次拉取的offset大小,让消费者一次拉取的数据多一些,减少多次的网络IO。

4如果业务一直都是正常的,没有什么大促或者是搞活动,应该就是下游的消费者出现了接口调用超时、死锁、慢查询等情况,根据日志进行详细的分析,进行优化。 可以根据traceId 去日志平台grep日志,看一下整条链路的执行情况。

5最后就是完善监控,在下次业务出现积压的时候能及时发现,然后进行优化。

相关推荐
用户36105886261217 小时前
KafkaProducer 元数据管理:send() 卡住时,它在等什么
kafka
方方洛17 小时前
ray教程-28-附录G-CICD与Slurm与云上调度
人工智能·分布式·机器学习
空奈qwq20 小时前
【Kafka 从入门到实战】从手写一个队列到生产级消息中间件:架构、分区、消费组、零拷贝全解析
分布式·架构·kafka
山甫aa2 天前
锁一篇搞定:乐观锁、悲观锁、CAS、数据库锁与分布式锁【从零开始的 Web 后端学习】
java·数据库·分布式·后端·学习·web
严肃小白兔3 天前
Cloudflare Durable Objects 支持自动重试:分布式调用如何避免重复执行?
分布式
用户3610588626123 天前
深度拆解 Kafka 源码:Producer 构造器装配了哪些核心组件
kafka
方方洛3 天前
ray教程-27-附录F-RayClient与runtime_env与多语言
人工智能·分布式·机器学习
知识搬运临时工4 天前
Kafka 发 1 GiB 数据,用户态 CPU 只花 0.016 秒,总耗时反而慢了 11%
后端·kafka