Hi,

I am evaluating kafka to use in our application, and had some questions
about allocation of partitions to consumers.
We want to partition messages across a set of consumers so that ideally
each consumer handles a fixed set of ids (contained with the messages).
Each of our consumers maintains state for the set of ids it processes.

As I understand it, using a custom Partitioner will allow allocation of
messages to partitions, and then each consumer will be allocated one or
more partitions to process.   After a change to the number of brokers or
consumers the allocation of partitions to consumers will change so that
each consumer may now end up processing a different subset of messages.

Is there some facility within kafka that would allow the set of ids to
remain fixed for a particular consumer?  (From what I have read I assume
that this is not possible).

Alternatively is there any callback or other notification mechanism that
would allow our consumers to know when the partitioning changes?
Since each of our consumers maintains state for the set of ids it is
processing, we could then dump and refresh that state when the set of ids
change.

Thanks,
Ross

Reply via email to