Dea*_*tle 1 go apache-kafka sarama
我尝试过shopify/sarama库来使用kafka消息。Consumer接口和接口我都用过ConsumerGroup。我可以使用ConsumePartition()中的方法从特定分区消费Consumer。但是当我使用ConsumerGroup接口时,我似乎没有能力从特定分区消费。
有没有办法让我将某些分区分配给消费者组内的特定消费者?或者这是我无法干涉的事情?
似乎我在使用时无法给出要使用的确切分区ConsumerGroup。不过,我可以从 2 个策略选项中选择要为消费者分配分区的策略。
BalanceStrategyRange 是默认值,它将分区作为范围分配给消费者组成员。一个主题 T 具有六个分区 (0..5) 和两个成员 (M1, M2) 的示例:
M1: {T: [0, 1, 2]}
M2: {T: [3, 4, 5]}
Run Code Online (Sandbox Code Playgroud)
BalanceStrategyRoundRobin 按交替顺序将分区分配给成员。主题 T 具有六个分区 (0..5) 和两个成员 (M1, M2) 的示例:
M1: {T: [0, 2, 4]}
M2: {T: [1, 3, 5]}
Run Code Online (Sandbox Code Playgroud)
我可以在创建 ConsumerGroup 时将其作为配置。
config.Consumer.Group.Rebalance.Strategy = BalanceStrategyRange
Run Code Online (Sandbox Code Playgroud)