kafka 线上消费积压问题

背景

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

方案

增加consumer数量

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

重分配

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

增加分区数

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

调整consumer 参数

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

检查消费者的瓶颈

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

相关推荐
今年下半年4 小时前
【Spring Boot】多种存储文件(FastDFS / MinIO / 阿里云 OSS)接入设计说明(附源码)
spring boot·分布式·中间件·简单工厂模式·策略模式
ShineWinsu5 小时前
对于Redis:string类型的解析
java·c++·redis·分布式·缓存·面试·string
仍然.9 小时前
RabbitMQ---可靠性传输
网络·分布式·rabbitmq
灯澜忆梦11 小时前
【RabbitMQ #13】 | 延迟消息
分布式·rabbitmq·ruby
青山木12 小时前
秒杀系统设计(二):数据正确性——防超卖、分布式锁与一人一单
分布式·后端·mysql·中间件·架构
weixin_4241836121 小时前
开放—封闭原则实战(下):基于策略的流程编排与编译期多态
c++·分布式·系统架构
frjc1 天前
分布式事务:场景与选型决策表
分布式
GISMagic1 天前
5.《Designing Data-Intensive Applications》:系统设计与分布式能力提炼
分布式·ai coding
需要8261 天前
分布式 ID 生成:雪花算法、号段模式与时钟回拨
分布式·算法
灯澜忆梦1 天前
【RabbitMQ #11】 | 消费者可靠性
分布式·rabbitmq·ruby