Нужен потребитель Kafka, который будет получать данные в пакетном режиме

Я искал о пакетном потребителе Kafka и не нашел никакой ценной информации.

Пример использования:

Производитель будет производить данные очень часто, и на потребительском сайте мы будем потреблять данные и от потребителя, и мы будем публиковать данные в Facebook и Google, которые имеют ограничения на данные, которые могут быть опубликованы.

Сообщите мне, можно ли приостановить потребителя для потребления данных в течение определенного времени, пока другие API не будут использовать данные от Consumer.

Примечание. Этого легко добиться штурмом, но я не ищу такого решения. Мы также можем настроить размер байта в кафке, но это не будет служить цели.


person cody123    schedule 06.12.2016    source источник


Ответы (1)


Это можно сделать двумя способами:

Вариант №1: используйте один потребительский поток, который обрабатывает все потребление данных и передает сообщения в блокирующую очередь, используемую пулом рабочих потоков. При дозировании вы могли легко масштабировать рабочие процессы и потребителей. Но в этом случае управление фиксацией смещения будет немного сложнее.

Вариант №2: просто вызовите методы KafkaConsumer.pause () и KafkaConsumer.resume (), чтобы приостановить и возобновить выборку из определенных разделов для реализации вашей собственной логики.

person amethystic    schedule 06.12.2016