sarama使用consumergroup对消费者进行分区

uinbv5nw  于 2021-06-06  发布在  Kafka
关注(0)|答案(1)|浏览(1148)

我试过shopify/sarama图书馆使用Kafka的信息。我两个都用过 Consumer 接口和 ConsumerGroup 接口。我可以使用 ConsumePartition() 中的方法 Consumer . 但当我使用 ConsumerGroup 接口,我似乎没有能力使用特定分区。
我有没有办法将某些分区分配给消费组中的特定消费者?还是我不能干涉的事情?

ijnw1ujt

ijnw1ujt1#

在使用时,我似乎无法给出要使用的确切分区 ConsumerGroup . 但是,我可以从两个策略选项中选择要为消费者分配分区的策略。
平衡策略范围
balancestrategyrange是默认值,并将分区作为范围分配给使用者组成员。一个主题t有六个分区(0..5)和两个成员(m1,m2)的示例:

M1: {T: [0, 1, 2]}
M2: {T: [3, 4, 5]}

平衡策略循环
BalanceStrategyRobin按交替顺序为成员分配分区。主题t有六个分区(0..5)和两个成员(m1,m2)的示例:

M1: {T: [0, 2, 4]}
M2: {T: [1, 3, 5]}

我可以在创建consumergroup时将其作为配置。

config.Consumer.Group.Rebalance.Strategy = BalanceStrategyRange

相关问题