Broker в Kafka — это отдельный сервер (узел кластера), который принимает сообщения от продюсеров, сохраняет их в разделах (partitions) топиков и отдает консьюмерам. Несколько брокеров образуют кластер, распределяя данные и нагрузку для масштабирования и отказоустойчивости.
В Apache Kafka broker — это процесс/сервер, на котором запущена Kafka и который хранит данные и обслуживает клиентов. Каждый брокер имеет уникальный идентификатор broker.id и отвечает за подмножество партиций всех топиков в кластере.
Ключевые функции брокера:
offset внутри партиции, а брокер возвращает ему подходящие записи.Топик в Kafka делится на партиции, и эти партиции распределены по разным брокерам. Благодаря этому Kafka масштабируется горизонтально (добавляем брокеры — перераспределяем партиции) и остается устойчивой к сбоям: при падении брокера лидерство его партиций автоматически переходит к репликам на других брокерах.
Клиенты (продюсеры и консьюмеры) обычно подключаются к любому брокеру, получают от него метаданные о топиках и далее взаимодействуют уже с теми брокерами, на которых находятся нужные партиции. Поэтому broker — это базовый строительный блок кластера Kafka, отвечающий одновременно и за хранение сообщений, и за их доставку.
Отметьте свой прогресс