В Kafka потребитель потока — это приложение или компонент, который считывает и обрабатывает данные из тем Kafka. Существует несколько методов получения данных из потоков Kafka. Вот некоторые из распространенных методов:
-
Опрос: потребитель может использовать метод
poll()для получения записей из тем Kafka через регулярные промежутки времени. Этот метод позволяет потребителю контролировать скорость, с которой он потребляет сообщения. -
Подписаться: потребитель может подписаться на одну или несколько тем, используя метод
subscribe(). Этот метод позволяет потребителю автоматически присоединяться к группам потребителей и распределять нагрузку между несколькими экземплярами. -
Назначить. Альтернативно потребитель может использовать метод
assign(), чтобы вручную назначить определенные разделы для использования. Этот метод обеспечивает больший контроль, но требует ручного управления назначениями разделов. -
Seek: потребитель может использовать метод
seek()для поиска определенного смещения внутри раздела. Этот метод полезен для воспроизведения или пропуска сообщений на основе определенных критериев. -
Фиксация смещений. Потребители могут использовать такие методы, как
commitSync()илиcommitAsync(), для фиксации смещений обработанных ими записей. Это гарантирует, что в случае сбоя потребитель сможет возобновить работу с последнего зафиксированного смещения. -
Ребалансировка. Потребители Kafka участвуют в групповой координации и ребалансировке. Этот процесс обеспечивает равномерное распределение разделов между членами группы потребителей при добавлении новых потребителей или уходе существующих.
-
Сброс смещения: если потребитель теряет свое смещение или хочет начать потребление с определенной позиции, он может использовать
seekToBeginning()илиseekToEnd()методы для сброса смещения до самого раннего или самого последнего доступного значения. -
Обработка записей: потребители могут получить доступ к ключу, значению и метаданным каждой записи, полученной от Kafka. Они могут выполнять собственную логику обработки записей в соответствии с требованиями своего приложения.