如何将分区拆分为Kafka Broker?

时间:2017-01-08 12:12:14

标签: apache-kafka partitioning

我知道分区在Kafka Broker中是分开的。但分裂是基于什么?例如,如果我有3个代理和6个分区,如何确保每个代理有2个分区?目前这种分裂是如何在卡夫卡进行的?

1 个答案:

答案 0 :(得分:0)

分配策略是一个内部实现细节,没有记录,因为它可以在任何时间点进行更改。因此,您不应该依赖此算法保持不变。此外,您无法对流入/配置此内部策略做任何事情。

基本策略是确保负载平衡,即,它将分区分配给分配的分区少于其他分区的代理。因此,对于您的示例,每个代理将分配2个分区。

此外,对于分区副本a"机架感知"政策适用(截至Kafka 0.10)。这意味着如果可能的话,将分区副本分配给不同的机架,以便在整个机架出现故障时再次保护脱机分区。有关详细信息,请参阅此KIP:https://cwiki.apache.org/confluence/display/KAFKA/KIP-36+Rack+aware+replica+assignment