Когда новый потребитель/брокер добавляется или опускается, Kafka запускает операцию ребалансировки. Кафка перебалансирует операцию блокировки. Покупатели Kafka заблокированы во время операции по перебалансировке?Как работает перебалансировка потребителей в Кафке?
ответ
Зависит от того, что вы подразумеваете под «заблокированным». Если вы имеете в виду «существующие соединения закрыты при срабатывании балансировки», тогда ответ «да». Нынешний алгоритм перебалансировки Кафки, к сожалению, несовершенен.
Вот что происходит во время балансировки потребления.
Предположим, у нас есть тема с 10 разделами (0-9) и одним потребителем (давайте назовите ее consumer1
), потребляя ее. Когда появляется второй потребитель (consumer2
), триггеры задачи перебалансировки для обоих из них (consumer1
получает событие, consumer2
выполняет первоначальное перебалансирование). Теперь consumer1
закрывает все существующие соединения (даже те, которые будут вскоре открываться) и освобождает владельца раздела в Zookeeper для всех 10 разделов.
Затем он запускает алгоритм распределения разделов и решает, какие разделы должны быть заявлены, и снова заявляет о праве собственности в Zookeeper. Если требование было успешным, consumer1
начинает получать свои новые разделы.
Между тем consumer2
также выполняет алгоритм назначения разделов и пытается также потребовать свои разделы в Zookeeper. Требование будет выполнено только тогда, когда consumer1
освобождает право собственности на эти разделы. Когда заявка успешна consumer2
начинает выборку, или если она не может требовать разделов в пределах заданного количества повторных попыток, вы получаете исключение rebalance failed after n retries
.
Как вы заметили, вместо того, чтобы просто закрывать соединения и освобождать право собственности на разделы, consumer1
больше не принадлежит, он излишне закрывает ВСЕ его соединения и перезапускает с меньшим количеством разделов. Та же история с добавлением разделов (когда мы потребляем фильтр подстановки и появляется новая тема) - ВСЕ соединения закрываются, а затем снова открываются вместо того, чтобы просто открывать новые.
Так что я надеюсь, что это ответит на ваш вопрос - выборки останавливаются, когда происходит перебалансировка.
- 1. высокого уровень потребительской Неудачи в Кафке
- 2. kafka покупатель группа перебалансировка
- 3. Как уведомить производителя в кафке?
- 4. В Storm, как переносить смещения для хранения в Кафке?
- 5. Приборы Zoopekeeper в Кафке
- 6. Что delete.topic.enable в Кафке
- 7. Какая разница в Кафке между Координатором потребительской группы и лидером группы потребителей?
- 8. Осколок и перебалансировка через CLI
- 9. Перебалансировка аэростатического кластера, вызывающая ошибки
- 10. Как перебалансировка Кассандры при смене узлов?
- 11. Круглая среди потребителей не работает?
- 12. Передача динамического значения Кафке потребителей темы во время выполнения для сообщений приводится адаптер канала
- 13. Apache Ignite - перебалансировка данных не работает должным образом
- 14. Возвращаясь назад в Кафке с использованием смещением
- 15. Несколько потребителей в той же группе потребителей
- 16. Сколько продюсеров создавать в кафке?
- 17. Как долго сохраняются в Кафке скрепленные журналы?
- 18. обработка данных в кафке/шторме
- 19. Предоставление Kafka сообщений при балансировании потребителей
- 20. Как объединить двух потребителей?
- 21. Могу ли я использовать на основе определенных условий в Кафке?
- 22. Перебалансировка табличного осколка, с MySQL/InnoDB
- 23. Как передать вывод сценария оболочки кафке?
- 24. Безопасно ли отправлять сообщения Кафке, когда один из брокеров работает?
- 25. Сколько данных в каком разделе в Кафке?
- 26. Можно ли отразить конкретные темы в кафке?
- 27. Различают прочитанные и непрочитанные сообщения в Кафке
- 28. Что касается чтения и записи в кафке?
- 29. выборы лидера в зоопарке и Кафке
- 30. Можно ли потерять признанное сообщение в кафке?