首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kafka RoundRobin分区程序未将消息分发到4个分区

Kafka RoundRobin分区程序未将消息分发到4个分区
EN

Stack Overflow用户
提问于 2021-05-29 06:48:15
回答 1查看 76关注 0票数 1

我有4个代理和4个分区,但当我尝试使用空键推送4个消息时,它不会保存为循环。我期望消息会在每个分区中保存一次。

使用kafka-clients5.5*获取KafkaProducer,看起来是5.4*之后的版本。

如果未提供密钥,则行为取决于合流平台版本:

在Confluent Platform版本5.4.x和更高版本中,分区被分配给批处理。如果一批记录未满并且尚未发送到代理,它将选择与先前记录相同的分区。新创建的批处理的分区是随机分配的。有关更多信息,请参阅KIP-480:粘滞分区程序和相关的Confluent博客文章。在Confluent Platform 5.4.x之前的版本中,分区是以循环方式分配的,从随机分区开始。

https://docs.confluent.io/platform/current/clients/producer.html

我的理解正确与否?

EN

回答 1

Stack Overflow用户

发布于 2021-08-23 10:17:37

在Kafka版本2.4中引入了一个新的分区程序(StickyPartitioner),用于改进生产者将数据发送到分区的方式。

基本上,现在它首先对数据进行批处理,然后进行循环调度,而不是对每条记录进行循环调度。

有关更多详细信息,请参阅下面的链接。它解释了一切都是细节。

https://www.confluent.io/blog/5-things-every-kafka-developer-should-know/#tip-2-new-sticky-partitioner

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67746198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档