kafka 线上消费积压问题

背景

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

方案

增加consumer数量

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

重分配

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

增加分区数

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

调整consumer 参数

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

检查消费者的瓶颈

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

相关推荐
梅头脑12 小时前
交易跨10个库、日均千万订单——选错一次分布式事务方案,加班三个月重写
java·分布式
霸道流氓气质15 小时前
分布式系统中接口时序不确定性处理
java·开发语言·分布式
YOU OU16 小时前
Redis分布式锁
数据库·redis·分布式
小罗水18 小时前
第9章 RabbitMQ 消息队列与索引任务
分布式·rabbitmq
剧号19 小时前
互联网大厂Java面试全解析:Java SE 11, Spring Boot及微服务实战问答
java·微服务·面试·kafka·kubernetes·springboot·分布式系统
naierfengdian20 小时前
分布式风力发电机机抗风扰、稳发电结构设计技术解析
分布式·能源
wWYy.1 天前
基于Raft分布式Kv存储:sendRequestVote
分布式
笨鸟先飞的橘猫2 天前
游戏后端分布式学习——消息队列在游戏的用法
分布式·学习·游戏
Wang's Blog2 天前
Go-Zero项目开发40: 基于Jaeger的分布式链路跟踪实战
开发语言·分布式·golang
wWYy.2 天前
基于Raft分布式Kv存储:sendAppendEntries
分布式