kafka 线上消费积压问题

背景

线上kafka 流量大,消费小于生产,如何处理?

方案

增加consumer数量

可以增加consumer的消费者,不过这个只能在一定程序上缓解,如果consumer 数量超过partition 数,那有的就会空转,解决不了问题,这种在线上直接扩容后端即可

重分配

在上面的基础上,可以把一个topic通过其它的方案,打散到多个分区,比如A topic 3个分区,通过flink 打散到新的topic 9个分区,然后扩容后的后端消费新的topic。这样可以不动老的topic ,方案灵活,效率高

增加分区数

在增加consumer这个方案的基础上,可以增加分区数,这个不建议,在线上修改。

调整consumer 参数

比如批量消费,一次多pull 几条,配置要支持动态调整

检查消费者的瓶颈

检查是不是本身消费数据有瓶颈,优化逻辑代码

相关推荐
敖正炀1 天前
高并发系统的降级预案与容错策略
分布式·架构
敖正炀1 天前
稳定性监控与告警体系:SLI/SLO/SLA 实践
分布式·架构
敖正炀1 天前
故障演练与混沌工程:ChaosBlade 到 Litmus
分布式·架构
敖正炀1 天前
全链路压测与容量规划方法论
分布式·架构
敖正炀1 天前
限流算法深度与 Guava/Sentinel 源码:从单机令牌桶到分布式滑动窗口的流量防护体系
分布式·架构
山屿落星辰1 天前
hixl - 让分布式训练“零拷贝“通信
分布式
逍遥德1 天前
SpringBoot自带TaskScheduler 接口使用详解:(02)微服务多实例模式下,爆发任务重复执行问题
spring boot·分布式·后端·微服务·中间件
Devin~Y1 天前
互联网大厂 Java 面试实录:JVM、Spring Boot、MyBatis、Redis、Kafka、Spring AI、K8s 全链路追问小Y
java·jvm·spring boot·redis·kafka·mybatis·spring security
倒流时光三十年1 天前
第12篇 Rebalance 深度解析
spring boot·kafka
Solis程序员2 天前
基于 Outbox 事务表 + Canal 监听+kafka+多级缓存:高并发社交关注系统全链路架构设计
分布式·kafka·linq