kafka消费者分区分配策略
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kafka消费者分区分配策略相关的知识,希望对你有一定的参考价值。
参考技术A 有两种种策略,range strategy策略和roundRobin strategy策略,默认是range strategy策略。1.range strategy策略
先把主题里的分区按照序号排序,然后把消费者按照字母排序,把分区的总数除以消费者总数得到每个消费者消费的分区数,如果除不断就把分区分配给前面的消费者。
排完序的分区将会是0, 1, 2, 3, 4, 5, 6, 7, 8, 9;消费者线程排完序将会是C1-0, C2-0, C2-1。
C1-0 将消费 0, 1, 2, 3 分区
C2-0 将消费 4, 5, 6 分区
C2-1 将消费 7, 8, 9 分区
2.roundRobin strategy策略
把主题和分区组成topicAndPartition列表,再把列表按照hashcode排序,轮询分配给消费者。
加入按照 hashCode 排序完的topic-partitions组依次为T1-5, T1-3, T1-0, T1-8, T1-2, T1-1, T1-4, T1-7, T1-6, T1-9,我们的消费者线程排序为C1-0, C1-1, C2-0, C2-1,最后分区分配的结果为:
C1-0 将消费 T1-5, T1-2, T1-6 分区;
C1-1 将消费 T1-3, T1-1, T1-9 分区;
C2-0 将消费 T1-0, T1-4 分区;
C2-1 将消费 T1-8, T1-7 分区;
只能通过partition.assignment.strategy参数选择 range 或 roundrobin。
Kafka-分区分配策略
参考技术A 所谓的再平衡,指的是在kafka consumer所订阅的topic发生变化时发生的一种分区重分配机制。一般有三种情况会触发再平衡:以上是关于kafka消费者分区分配策略的主要内容,如果未能解决你的问题,请参考以下文章