kafka 线上消费积压问题

背景

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

方案

增加consumer数量

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

重分配

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

增加分区数

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

调整consumer 参数

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

检查消费者的瓶颈

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

相关推荐
^Moon^29 分钟前
CycloneDDS:跨主机多进程通信全解析
c++·分布式·dds
长安城没有风5 小时前
从入门到精通【Redis】Redis 典型应⽤ --- 分布式锁
数据库·redis·分布式
爬山算法8 小时前
Redis(69)Redis分布式锁的优点和缺点是什么?
数据库·redis·分布式
wudl556612 小时前
Flink SQL 与 Kafka 整合详细教程
sql·flink·kafka
virtuousOne14 小时前
Kafka基础
分布式·kafka
虫小宝14 小时前
Java分布式架构下的电商返利APP技术选型与架构设计实践
java·分布式·架构
007php00714 小时前
百度面试题解析:Zookeeper、ArrayList、生产者消费者模型及多线程(二)
java·分布式·zookeeper·云原生·职场和发展·eureka·java-zookeeper
waving-black14 小时前
windows系统下安装测试kafka
windows·分布式·kafka
深思慎考15 小时前
RabbitMQ 入门:基于 AMQP-CPP 的 C++ 实践指南与二次封装
开发语言·c++·分布式·rabbitmq·api
Andya_net15 小时前
Java | 基于redis实现分布式批量设置各个数据中心的服务器配置方案设计和代码实践
java·服务器·分布式