Interface ConsumerPartitionAssignor

  • All Known Implementing Classes:
    org.apache.kafka.clients.consumer.internals.AbstractPartitionAssignor, org.apache.kafka.clients.consumer.internals.AbstractStickyAssignor, CooperativeStickyAssignor, RangeAssignor, RoundRobinAssignor, StickyAssignor

    public interface ConsumerPartitionAssignor
    This interface is used to define custom partition assignment for use in KafkaConsumer. Members of the consumer group subscribe to the topics they are interested in and forward their subscriptions to a Kafka broker serving as the group coordinator. The coordinator selects one member to perform the group assignment and propagates the subscriptions of all members to it. Then assign(Cluster, GroupSubscription) is called to perform the assignment and the results are forwarded back to each respective members

    In some cases, it is useful to forward additional metadata to the assignor in order to make assignment decisions. For this, you can override subscriptionUserData(Set) and provide custom userData in the returned Subscription. For example, to have a rack-aware assignor, an implementation can use this user data to forward the rackId belonging to each member.

    The implementation can extend Configurable to get configs from consumer.