Re: about consumer group name

2014-03-17 Thread Churu Tang
Thanks Guozhang!

Cheers,
Churu

On Mar 17, 2014, at 3:48 PM, Guozhang Wang  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 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  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 >> 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



Re: about consumer group name

2014-03-17 Thread Guozhang Wang
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 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  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  >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


Re: about consumer group name

2014-03-17 Thread Churu Tang
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  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 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



Re: about consumer group name

2014-03-14 Thread Guozhang Wang
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 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


about consumer group name

2014-03-14 Thread Churu Tang
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