Apache Kafka – архитектура кластера
Обратите внимание на изображение ниже. Оно отражает структуру кластера.
- Брокер
Как правило, кластер Kafka состоит из нескольких брокеров для поддержания баланса рабочей нагрузки. Один экземпляр брокера Kafka может обрабатывать сотни тысяч чтений и записей в секунду. Каждый брокер работает с ТБ сообщений без ущерба для производительности. Выбор лидера брокера Kafka могут осуществляться с помощью ZooKeeper.
- ZooKeeper
ZooKeeper используется для управления и координации работы брокера Kafka. Сервис ZooKeeper в основном используется для уведомления производителя и потребителя о появлении нового брокера в системе Kafka или отказе брокера в системе. В соответствии с полученным уведомлением о наличии или отказе брокера производитель и потребитель начинают координировать выполнение своей задачи с помощью какого-либо другого брокера.
- Продюсеры
Производители передают данные брокерам. Когда запускается новый брокер, все продюсеры ищут его и автоматически отправляют сообщение этому новому брокеру. Продюсер Kafka не ждет подтверждений от брокера и отправляет сообщения с такой скоростью, с которой могут работать , как может обработать брокер.
- Коньсюмеры
Консьюмер отслеживает, сколько сообщений было потреблено, используя смещение в разделах. Если он подтверждает определенное смещение в сообщениях, это означает, что он обработал все предыдущие сообщения. Консьюмеры отправляют асинхронный запрос брокера на получение буфера байтов, готовых к потреблению. Они могут перемотать или пропустить любую точку раздела, просто указав значение смещения, о котором уведомляет ZooKeeper.




