通过 消息键 和 分区器 来实现,分区器为
键
生成一个
offset
,然后使用 offset 对主题分区进行取模,为消息选取分区,这样就可以保证包含同一个键的消息会被写到同一个分区上。
- 如果
ProducerRecord
没有指定分区,且消息的
key 不为空
,则使用
Hash 算法
(非加密型 Hash 函数,具备高运算性能及低碰撞率)来计算分区分配。
- 如果 ProducerRecord 没有指定分区,且消息的
key 也是空
,则用 轮询 的方式选择一个分区。
通过 消息键 和 分区器 来实现,分区器为
键
生成一个
offset
,然后使用 offset 对主题分区进行取模,为消息选取分区,这样就可以保证包含同一个键的消息会被写到同一个分区上。
ProducerRecord
没有指定分区,且消息的
key 不为空
,则使用
Hash 算法
(非加密型 Hash 函数,具备高运算性能及低碰撞率)来计算分区分配。
key 也是空
,则用 轮询 的方式选择一个分区。