Kafka+SpringBoot多线程消费与分区消费踩过的坑

本文介绍了在Kafka+SpringBoot项目中遇到的消费性能问题。通过分析,发现单分区导致无法利用多线程提高消费能力。在尝试增加分区以提高并行消费时,牺牲了消息的有序性。最终,通过代码优化、异步处理和内存管理策略提升了消费效率,同时也探讨了分区数量对性能和有序性的平衡问题。
摘要由CSDN通过智能技术生成
创建Topic的时候,可以置顶分区数和副本数,在kafka/config/sever.properties文件修改num.partitions = ? 即可定义你的默认分区数~
在SpringBoot集成中,我们只需要配置:@KafkaListener(topics = “test_topic” ,groupId = “test”,concurrency = “3”) 就可以实现监听消费。

https://blog.csdn.net/whiteBearClimb/article/details/109532690

我刚开始学也理所当然后面的:concurrency = “3” 配置开启多线程消费可以提高消费能力。
于是在一个项目中,发现消费端能力很弱。访问记录达到1W+一秒,能够正确统计到的只有5500+,为了排查定位到的这个问题,我就在监听消费后面加上了concurrency = “3”; 信心满满提交上线,结果还是出这个问题!
继续研究同时请教大佬~~~

终于发现,由于业务需求,对消息有序性有强烈要求,所以Topic只做了单分

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值