Assigning consumers to a topic partition

Kafka clients allows you to implement your own partition assignment strategies for consumers.

If you have a topic with multiple consumers and want to assign a consumer to a specific partition topic, you can use the assignPartitions method, available on the ConsumerBuilder instance:

$partition = 1; // The partition number you want to assign

$consumer = \Junges\Kafka\Facades\Kafka::consumer()
    ->assignPartitions([
        new \RdKafka\TopicPartition('your-topic-name', $partition)
    ]);

The assignPartitions method accepts an array of \RdKafka\TopicPartition objects. You can assign multiple partitions to the same consumer by adding more entries to the assignPartitions parameter:

$consumer = \Junges\Kafka\Facades\Kafka::consumer()
    ->assignPartitions([
        new \RdKafka\TopicPartition('your-topic-name', 1)
        new \RdKafka\TopicPartition('your-topic-name', 2)
        new \RdKafka\TopicPartition('your-topic-name', 3)
    ]);
Previous
Using regex to subscribe to kafka topics