Создайте нового потребителя для группы потребителей из метода assign интерфейса перебалансировки (PartitionAssignor )

#kubernetes #apache-kafka #kafka-consumer-api

#kubernetes #апачи-кафка #kafka-consumer-api

Вопрос:

Я запускаю кластер Kafka в Kubernetes. Я внедряю обычай PartitionAssignor для персонализации способа назначения тематических разделов существующим потребителям в группе потребителей. С этой целью я переопределяю метод Map<String, Assignment> assign( Cluster metadata Map<String, Subscription> subscriptions)

Если внутри assign метода я динамически создал нового потребителя через клиентские API Kubernetes, как будет вести себя протокол перебалансировки в таком случае. Точно, когда вновь созданный потребитель отправляет запрос joinGroup координатору группы (пока процесс перебалансировки все еще выполняется), завершится ли текущая перебалансировка, а затем запускается новый процесс перебалансировки для адаптации к вновь созданному потребителю?

Ответ №1:

Для тех, кого может заинтересовать ответ, я разместил вопрос в списке рассылки Kafka, а ниже приведен ответ от Confluent People:

Ответ :

Если вы создаете нового потребителя внутри метода assign (и предполагаете, что вы действительно начинаете опрос с его помощью, чтобы он отправил запрос joinGroup), тогда да, для размещения этого потребителя потребуется новая перебалансировка. Координатор группы проинформирует всех существующих участников о необходимости воссоединения с группой, чтобы можно было продолжить перебалансировку с последним актуальным представлением текущей группы.