【问题标题】:Ideal number of partitions for Kafka topicKafka 主题的理想分区数
【发布时间】:2021-07-15 08:03:23
【问题描述】:
我目前正在处理具有 6 个 kafka-brokers 的设置,数据正以每秒大约 4000 条消息的速度从两个 producers 推送到我的 topic,我有 5 个 Consumers 用于此主题作为一个团队工作。我的kafka topic 的理想分区数应该是多少?
如果brokers/consumers/producers 也需要任何更改,请随时告诉我。
【问题讨论】:
标签:
apache-kafka
kafka-consumer-api
kafka-producer-api
kafka-topic
【解决方案1】:
通常更多的分区 - 更多的吞吐量。但是还有其他考虑因素,例如您运行的硬件的限制,您是否使用压缩等。Confluent here 提供了足够好的信息,可让您深入了解粗略的计算,您可以使用它来得出分区数.
选择分区数量的粗略公式基于
吞吐量。你衡量你可以在一个
用于生产(称为 p)和消费(称为
C)。假设您的目标吞吐量是 t。然后你需要在
最少 max(t/p, t/c) 分区。每个分区的吞吐量
能否在生产者上实现取决于配置,例如
批处理大小、压缩编解码器、确认类型、复制
因素等。
对于消费者来说
消费者吞吐量通常取决于应用程序,因为它
对应于消费者逻辑处理每条消息的速度
因此,最好的方法是针对您自己的用例进行衡量和基准测试