#apache-kafka #high-availability
#apache-kafka #высокая доступность
Вопрос:
Я понимаю концепцию лидеров и репликации данных в Kafka, но я не понимаю, почему потребители и производители всегда будут перенаправляться на главный узел при записи / чтении из раздела вместо возможности чтения из любого ISR (синхронизированной реплики)
То, как я думаю об этом, если все потребители перенаправляются на один главный узел, то для обработки операций чтения / записи от больших групп потребителей / производителей требуется больше оборудования.
Возможно ли чтение и запись в репликах узлов или потребители / производители всегда будут обращаться к главному узлу этого раздела?
Ответ №1:
В Кафке у нас есть концепция Лидера и Последователя для Разделения.
Все операции чтения / записи для определенного раздела выполняются через «Лидера» раздела, а «Последователь» синхронизируется с «Лидером» для получения обновлений.
В Kafka приложения-производители / потребители или любые клиентские приложения всегда будут связываться с «Лидером» раздела.
Если лидер по какой-либо причине умирает / отключается, новый лидер будет избран из ISR (список синхронизированных реплик)
ISR: Реплики / Подписчики, у которых есть все обновления или, другими словами, которые синхронизированы с Лидером, будут избраны в качестве нового лидера для раздела.
Более подробная информация: https://medium.com/nerd-for-tech/apache-kafka-quick-start-1edeef53773e
Комментарии:
1. Почему это так? В чем причина, по которой для раздела должен быть лидер вместо того, чтобы потребитель мог фактически использовать данные из любого раздела, поскольку все они все равно реплицируются? Я не понимаю, почему он централизован для одного «ведущего» узла вместо того, чтобы разрешать использование реплик.