[ 
https://issues.apache.org/jira/browse/KAFKA-3297?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16332510#comment-16332510
 ] 

Andrew Olson commented on KAFKA-3297:
-------------------------------------

We have released [1] this enhancement in an open source project [2].

[1] 
https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.cerner.common.kafka%22
[2] 
https://github.com/cerner/common-kafka/blob/master/common-kafka/README.md#fairpartitioner

> More optimally balanced partition assignment strategy (new consumer)
> --------------------------------------------------------------------
>
>                 Key: KAFKA-3297
>                 URL: https://issues.apache.org/jira/browse/KAFKA-3297
>             Project: Kafka
>          Issue Type: Improvement
>          Components: consumer
>            Reporter: Andrew Olson
>            Assignee: Andrew Olson
>            Priority: Major
>             Fix For: 1.1.0
>
>
> While the roundrobin partition assignment strategy is an improvement over the 
> range strategy, when the consumer topic subscriptions are not identical 
> (previously disallowed but will be possible as of KAFKA-2172) it can produce 
> heavily skewed assignments. As suggested 
> [here|https://issues.apache.org/jira/browse/KAFKA-2172?focusedCommentId=14530767&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14530767]
>  it would be nice to have a strategy that attempts to assign an equal number 
> of partitions to each consumer in a group, regardless of how similar their 
> individual topic subscriptions are. We can accomplish this by tracking the 
> number of partitions assigned to each consumer, and having the partition 
> assignment loop assign each partition to a consumer interested in that topic 
> with the least number of partitions assigned. 
> Additionally, we can optimize the distribution fairness by adjusting the 
> partition assignment order:
> * Topics with fewer consumers are assigned first.
> * In the event of a tie for least consumers, the topic with more partitions 
> is assigned first.
> The general idea behind these two rules is to keep the most flexible 
> assignment choices available as long as possible by starting with the most 
> constrained partitions/consumers.
> This JIRA addresses the new consumer. For the original high-level consumer, 
> see KAFKA-2435.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to