创建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只做了单分
本文介绍了在Kafka+SpringBoot项目中遇到的消费性能问题。通过分析,发现单分区导致无法利用多线程提高消费能力。在尝试增加分区以提高并行消费时,牺牲了消息的有序性。最终,通过代码优化、异步处理和内存管理策略提升了消费效率,同时也探讨了分区数量对性能和有序性的平衡问题。
最低0.47元/天 解锁文章

2595

被折叠的 条评论
为什么被折叠?



