答案 0 :(得分:2)
我会在这里给出更详细的答案。
所以第一点是没有理由拥有更多的消费者线程(并且每个消费者至少有一个消费者线程),而不是消耗的分区数量。原因是如果你有更多的消费者线程而不是分区,一些消费者线程最终会被闲置,只会浪费资源。因此,根据您所附的示例,没有必要为3个分区设置4个消费者。
第二点 - 分区分配取决于组中消费者选择的策略。目前有2种分区分配策略 - Range
和RoundRobin
。如果您使用Range
策略,则可以预测每个使用者在重新平衡后将使用哪些分区。使用RoundRobin
策略虽然您无法在重新平衡后事先预测消费者的分区分配。
解释消费者重新平衡如何工作以及如何分配分区的详细答案是here。
您还可以在/consumers/[group_id]/owners/[topic]/[partition]