具有消息密钥和分区的 Kafka 生产者

Kafka producer with message key and partition

如果我们提供消息密钥和分区,我很想知道消息将写入哪个分区。消息是根据分区键发布还是发布到 Apache Kafka 中的特定分区?

如果您在 one of the constructor methods 中提供允许您在 ProducerRecord 对象中提供分区号的 partition 编号,则默认使用分区号。

仅当 未提供 分区号时才使用密钥。

这里有一些参考资料表明了这一点:

  1. A blog 来自 Confluent 的建议。
  2. 教程来自 learning journal

编辑 - 添加了一个教程参考。