在 Kafka 中进行批处理

Batching in Kafka

Kafka 批处理中的所有消息是否必须进入同一分区?

或者是否可以将消息(应该发送到不同的分区)一起打包?

这取决于生产者的分区分配算法。 默认为 RoundRobin,因此它将在分区之间平均分配。

您可以为批处理中的每条记录传递一个键,然后将为每个键执行一个默认的哈希函数,代理会将记录放入从哈希函数返回的分区中。

你也可以重写哈希函数,自己写一个

否则,如果您的 Kafka 客户端支持,您可以为每条记录显式传递分区。

但您不必按分区对邮件进行分组 - 只需按主题。