Kafka 生产者为来自 Java 的主题创建分区

Kafka producer create partition for a topic from Java

我正在创建一个kafka生产者,我想在根据消息类型发送消息时指定partitionId。我的 Mysql table 中有 type-partitonId 映射。如果是新消息类型,我必须创建新分区并将该 id 保存到 Mysql,以便下次相同类型出现时它可以直接将消息发送到该 Id。如何为主题创建新分区并获取创建的 partitionId ? 我正在使用最新的 kafka API .9 和 Java 1.8.

查看 AdminUtils class,特别是 addPartitions() 方法。请注意,在实际发送消息之前,您可能需要等待一段时间才能将元数据传播到所有代理。