Kafka Разделение Ребаланс
Давайте предположим, что группа потребителей, имеющая 5 потребителей, подписывается на какую-то тему, которая имеет 10 разделов. Теперь, если еще 10 разделов будут добавлены к той же теме. Это вызывает перебалансировки. Почему kafka переназначает ранее назначенные разделы, почему он не может просто назначать вновь созданные разделы среди группы потребителей.
1 ответ
Из-за того, как в настоящее время работают присваиватели разделов Kafka, перебалансирование потребителей всегда является операцией "остановить мир", во время которой все разделы сначала освобождаются от потребителей, а затем переопределяются.
Тем не менее, есть StickyAssignor
который пытается сохранить предыдущее назначение, тогда как по умолчанию RangeAssignor
не дает никаких гарантий.
Использовать StickyAssignor
, задавать partition.assignment.strategy
в org.apache.kafka.clients.consumer.StickyAssignor
в вашей потребительской конфигурации.