幸福飞过海 - [原创]解决Spring Boot Kafka 分区不均匀问题 的评论
https://fengqi.me/java/520.html
现象我们通常使用多个分区,开多线程来提高Kafka的消费速度,分区不均匀会导致线程闲置,消费速度过慢,进而导致消息积压。问题原因消息写入哪个分区是由生产者决定的,在调用kafkaTemplate...
-
风起
https://fengqi.me/java/520.html/comment-page-1#comment-39427
2021-09-07T09:40:39+00:00
你可以检查下,你的kafka clien端获取的分区列表是否是完整的,否则不太可能出现你说的情况。
-
风起
https://fengqi.me/java/520.html/comment-page-1#comment-39426
2021-09-07T09:31:23+00:00
生产端不太好去获取当前分区消息数量决定是否均匀,所以默认的就很好了,或者随机。你想要的显然是随机方式,那你要解决的就是如果更均匀的随机就行了,这是个算法问题,你可以在我的代码基础上对partition方法进行修改,我就不深入说了。
-
fpwag
https://fengqi.me/java/520.html/comment-page-1#comment-39425
2021-09-01T02:20:14+00:00
例如我的test主题下有20个分区,当我使用随机分区策略后仅10个分区有消息,而且都是偶数区分。springboot版本是2.3.7,使用内置的spring-kafka组件
-
fpwag
https://fengqi.me/java/520.html/comment-page-1#comment-39424
2021-09-01T02:07:16+00:00
您好,关于kafka生产者消息分区策略中,随机策略总是偶数分区有消息且一半的分区有消息,其他分区都没有数据。如果要均匀的把消息分发到所有分区,请问这样的场景有好的解决方案吗