首页 > 解决方案 > Kafka - 独立服务器 - 如何决定分区?

问题描述

我有一个带有单个磁盘的独立 Kafka 设置。计划流式传输超过百万条记录。如何为我的主题决定分区以获得更好的吞吐量?必须是1个分区?

是否建议在独立的 Kafka 服务器上为一个主题设置多个分区?

标签: apache-kafkakafka-consumer-api

解决方案


是的,即使对于单节点 kafka 集群,您也需要多个分区。那是因为您只能拥有与分区一样多的消费者。如果你有一个分区,那么你只能有一个消费者,这将限制吞吐量。特别是如果您想流式传输数百万行(尽管未指定这些行的周期)。唯一真正的缺点是消息仅在同一分区内按顺序使用。除此之外,您应该使用多个分区。您需要估计单个消费者的吞吐量以计算分区,然后可能会在此基础上添加一个或 2 个。您仍然可以稍后添加分区,但最好先尝试从正确的数量开始,然后随着您了解更多或随着音量的增加/减少而更改。


推荐阅读