Apache Kafka - кластерная архитектура
Взгляните на следующую иллюстрацию. Он показывает кластерную диаграмму Kafka.
В следующей таблице описан каждый из компонентов, показанных на диаграмме выше.
S.No | Компоненты и описание |
---|---|
1 | Broker Кластер Kafka обычно состоит из нескольких брокеров для поддержания баланса нагрузки. Брокеры Kafka не имеют состояния, поэтому они используют ZooKeeper для поддержания состояния своего кластера. Один экземпляр брокера Kafka может обрабатывать сотни тысяч операций чтения и записи в секунду, и каждый брокер может обрабатывать ТБ сообщений без снижения производительности. Выбор лидера брокера Kafka может быть выполнен ZooKeeper. |
2 | ZooKeeper ZooKeeper используется для управления и координации брокера Kafka. Служба ZooKeeper в основном используется для уведомления производителя и потребителя о присутствии любого нового брокера в системе Kafka или сбое брокера в системе Kafka. Согласно полученному Zookeeper уведомлению о наличии или сбое брокера, производитель и потребитель принимают решение и начинают согласовывать свою задачу с каким-либо другим брокером. |
3 | Producers Производители отправляют данные брокерам. Когда новый брокер запускается, все производители ищут его и автоматически отправляют сообщение этому новому брокеру. Производитель Kafka не ждет подтверждений от брокера и отправляет сообщения настолько быстро, насколько брокер может их обработать. |
4 | Consumers Поскольку брокеры Kafka не имеют состояния, это означает, что потребитель должен поддерживать, сколько сообщений было использовано, используя смещение раздела. Если потребитель подтверждает конкретное смещение сообщения, это означает, что потребитель использовал все предыдущие сообщения. Потребитель отправляет брокеру асинхронный запрос на вытягивание, чтобы получить буфер байтов, готовый к использованию. Потребители могут перемотать назад или перейти к любой точке раздела, просто указав значение смещения. ZooKeeper сообщает значение смещения потребителя. |