在 Kafka 中,分区的放置是由 Kafka 集群的分区分配策略(Partition Assignment Strategy)决定的。当你创建一个新的主题(Topic)并指定分区数量时,Kafka 会根据当前的分区分配策略将这些分区分布到不同的 Broker 上。
Kafka 提供了两种默认的分区分配策略:
Kafka 默认使用的是 Range 分配策略。你可以在创建主题时通过配置指定分区分配策略,或者在修改主题的分区数量时生效。以下是一个例子,在创建主题时指定 Round-robin 分配策略:
kafka-topics.sh --create --topic my_topic --partitions 10 --replication-factor 3 --config partition.assignment.strategy=org.apache.kafka.clients.admin.RoundRobinAssignor --bootstrap-server localhost:9092
在这个例子中,--config partition.assignment.strategy=org.apache.kafka.clients.admin.RoundRobinAssignor
指定了使用 Round-robin 分配策略。你可以根据具体需求选择合适的分区分配策略。注意,Kafka 还允许你自定义分区分配策略,但这需要编写自定义的 Java 类并在配置中指定。
Proudly powered by WordPress