4.3. 选择正确的分区分配策略
选择适当的分区分配策略,它决定了 Kafka 主题分区如何在组中的消费者实例之间分布。
以下类支持分区策略:
-
org.apache.kafka.clients.consumer.RangeAssignor
-
org.apache.kafka.clients.consumer.RoundRobinAssignor
-
org.apache.kafka.clients.consumer.StickyAssignor
-
org.apache.kafka.clients.consumer.CooperativeStickyAssignor
使用 partition.assignment.strategy
使用者配置属性指定类。范围 分配策略为每个消费者分配一组分区,在您要将相关数据一起处理时非常有用。
或者,为消费者间相等的分区分布选择 循环 分配策略,这是需要并行处理高吞吐量的情况。
如需更稳定的分区分配,请考虑 粘性 和 合作粘性 策略。粘性策略旨在在重新平衡过程中维护分配的分区。如果消费者之前分配了某些分区,则粘性策略会在重新平衡后保留具有相同消费者的相同分区,同时只撤销和重新分配实际移至另一个消费者的分区。将分区分配保留原位可减少分区移动的开销。合作粘性策略还支持合作重新平衡,实现来自未重新分配的分区的不间断消耗。
如果没有可用的策略适合您的数据,您可以创建一个根据您的特定要求量身定制的自定义策略。