我试过shopify/sarama图书馆使用Kafka的信息。我两个都用过 Consumer 接口和 ConsumerGroup 接口。我可以使用 ConsumePartition() 中的方法 Consumer . 但当我使用 ConsumerGroup 接口,我似乎没有能力使用特定分区。我有没有办法将某些分区分配给消费组中的特定消费者?还是我不能干涉的事情?
Consumer
ConsumerGroup
ConsumePartition()
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
1条答案
按热度按时间ijnw1ujt1#
在使用时,我似乎无法给出要使用的确切分区
ConsumerGroup
. 但是,我可以从两个策略选项中选择要为消费者分配分区的策略。平衡策略范围
balancestrategyrange是默认值,并将分区作为范围分配给使用者组成员。一个主题t有六个分区(0..5)和两个成员(m1,m2)的示例:
平衡策略循环
BalanceStrategyRobin按交替顺序为成员分配分区。主题t有六个分区(0..5)和两个成员(m1,m2)的示例:
我可以在创建consumergroup时将其作为配置。