Hi,

If you choose not to close consumer, but only poll as a background thread
it, the rebalance wouldn’t take place. This is only if you are sending
heartbeats (via Poll() ) within the timeout period. Also, if one of the pod
dies, rebalance has to happen. You’d want a fare share of work.

An example code is also provided on KafkaConsumer docs. You may want to
check that.

The other option is to use manual partition assignment, but that means you
need to manually assign and manage who gets the partition.

Thanks,


On Wed, 9 Oct 2019 at 20:21, Gopinath <gop...@gmail.com> wrote:

> Hi,
>
> I have 2 partition in a topic and 3 pods/instances of my microservice
> running in my k8s cluster. I wanted all 3 pods to pull message from 2
> partitions. (I'm using same group id for all 3 pods/instances).
>
> I have achieved this by closing consumer as soon as i pulled message from
> partition. kafkaconsumer.close(); in this way i see i could see 3 pods can
> able to pull message from this 2 partition.
>
> But  what i observed is, when ever i close suing kafkaconsumer.close(); i
> see rebalancing is happening in partition. I do not want rebalancing to
> happen as another pod is ready to pick message from this partition.
>
> Can you please suggest a way to stop rebalancing.
>

Reply via email to