Thanks Guozhang!

Cheers,
Churu

On Mar 17, 2014, at 3:48 PM, Guozhang Wang <wangg...@gmail.com> wrote:

> The short answer to both questions is yes.
> 
> For the second question, the long answer will be: on startup of the
> high-level consumer, it will register itself under its ZK group path, so it
> knows other members in the group also; and upon rebalance triggered, it
> will read its peer number, and also the number of partitions, and make a
> decision who-consume-which. This decision is done independently on each
> consumer and is supposed to result in the same decision across the
> consumers since the decision algorithm is deterministic.
> 
> In the coming Kafka 0.9, this logic will be moved to the brokers so
> consumer clients will be thinner: no ZK dependency and no coordination
> logic at all.
> 
> Guozhang
> 
> 
> 
> 
> 
> 
> On Mon, Mar 17, 2014 at 11:43 AM, Churu Tang <ct...@rubiconproject.com>wrote:
> 
>> Hi Guozhang,
>> 
>> I really appreciate the detailed explanation!
>> Does this mean that the rule "1 partition will be consumed by exactly one
>> consumer in the consumer group" will only be checked and ensured at the
>> consumer side? Also, does the "consumer group registration in Zookeeper"
>> need to be taken care by the consumer group itself?
>> I think made a mistake in "there is no consumer group name included in any
>> kind of request" because the "clientId acts as the logical grouping". Sorry
>> about that.
>> 
>> Thanks!
>> 
>> Churu
>> 
>> On Mar 14, 2014, at 5:21 PM, Guozhang Wang <wangg...@gmail.com> wrote:
>> 
>>> Hi Churu,
>>> 
>>> Brokers are actually not aware of the consumer groups, the consumer
>> groups
>>> is maintained within the consumers (and registered in ZK) to achieve load
>>> balance. After the group has decided who-consume-which-partition, then
>> each
>>> consumer will do their fetching independently and send fetching requests
>> to
>>> the brokers. Brokers on the other hand will just blindly respond to the
>>> fetch requests.
>>> 
>>> Hope this helps.
>>> 
>>> Guozhang
>>> 
>>> 
>>> On Fri, Mar 14, 2014 at 4:50 PM, Churu Tang <ct...@rubiconproject.com
>>> wrote:
>>> 
>>>> Hi,
>>>> 
>>>> "Consumers label themselves with a consumer group name", and consumer
>>>> group name should be global across each Kafka cluster. However, when I
>>>> check the API, there is no "consumer group name" included in any kind of
>>>> request(metadata, produce, fetch, offset). Does the broker know about
>> the
>>>> consumer group name?
>>>> 
>>>> Thanks for your time!
>>>> 
>>>> Cheers,
>>>> churu
>>> 
>>> 
>>> 
>>> 
>>> --
>>> -- Guozhang
>> 
>> 
> 
> 
> -- 
> -- Guozhang

Reply via email to