在 Kafka 中,生产者(Producer)在发送消息时,必须决定将消息发送到主题(Topic)的哪一个分区(Partition)。这个决定由 分区路由策略(Partitioner) 来完成。 Kafka 提供了多种内置的分区策略,并且允许用户自定义策略。以下是 Kafka Producer 支持的主要分区路由策略: --- 1. 默认分区策略(Default Partitioner) 这是 Kafka Producer 默认使用的策略。注意:在 Kafka 2.4 版本前后,默认策略发生了重大的改变。 A. 如果消息指定了 Key(按 Key 哈希) 适用版本: 所有版本 路由逻辑: 如果 中指定了 ,Kafka 会对该 进行哈希计算(通常使用 murmur2 算法),然后将哈希值对总分区数取模:。 特点: 保证了相同 Key 的消息一定会被路由到同一个分区,从而保证了该 Key 对应消息的局部顺序性。 注意:如果主题增加了分区,相同 Key 可能会被路由到新的分区。 B. 如果消息没有指定 Key(无 Key 时的策略) Kafka 2.4 之前的版本(Round-Robi...