Производители и потребители
Apache Kafka® — это распределенная система для обмена сообщениями между производителями и потребителями данных.
- Производитель — приложение-источник данных. Оно подключается к кластеру Apache Kafka® и записывает сообщения с данными в определенные топики и их разделы. Чтобы иметь возможность записывать сообщения в топик и раздел, пользователь приложения должен иметь нужный набор прав, задаваемый ролями.
- Потребитель — приложение, которое принимает и обрабатывает данные от производителей. Вместо того чтобы получать данные напрямую от производителя, оно подключается к кластеру Apache Kafka®, подписывается на определенные топики и читает сообщения из них. Чтобы иметь возможность подписаться на топик, пользователь приложения должен иметь нужный набор прав, задаваемый ролями.
Группы потребителей
Apache Kafka® поддерживает два режима управления потребителями:
-
Автономный режим — каждый потребитель сам выбирает разделы топика Apache Kafka®, которые он будет читать.
-
Групповой режим — разделы топика Apache Kafka® автоматически распределяются между потребителями из группы. Потребители считывают сообщения координированно.
Группа потребителей состоит из одного или нескольких потребителей, которые совместно читают сообщения из топика. Чтобы отследить, какие сообщения уже были прочитаны группой потребителей, каждому разделу топика Apache Kafka® сопоставляется порядковый номер, который называют смещением группы. Благодаря этому каждое сообщение топика доставляется только одному потребителю из группы.
Разделы топика Apache Kafka® распределены между потребителями группы:
- Каждый раздел закреплен за одним потребителем внутри конкретной группы. При этом один потребитель может обрабатывать несколько разделов.
- При изменении состава группы или количества разделов происходит ребалансировка: разделы заново распределяются между потребителями группы.
Подробнее см. в документации Apache Kafka® для производителя