kafka主题的分区分配策略(二)

使用该分区策略的条件

broker包含机架信息,且未使用replica-assignment参数

和kafka主题的分区分配策略(一)的相同和不同之处

假设目前有3个机架,9个broker,机架和broker结点的对照关系入下表
机架 | broker
—|—
rack1 | 0,1,2
rack2 | 3,4,5
rack3 | 6,7,8

相同点

分区的broker分配步骤和kafka主题的分区分配策略(一)基本相同。

不同点

不同点1

kafka主题的分区分配策略(一)的assignReplicasToBrokersRackUnaware()方法里的brokerArray变量的值为[0,1,2,3,4,5,6,7,8]

而assignReplicasToBrokersRackUnaware()方法里的brokerArray变量的值为[0,3,6,1,4,7,2,5,8],这是论询各个机架产生的结果,如此新的brokerArray中包含了简单的机架分配信息。

不同点2

给分区分配的broker需要经过一层过滤