Кафка как буфер для пакетирования полезных нагрузок перед выполнением исходящего REST API - PullRequest
0 голосов
/ 27 апреля 2019

Справочная информация:

  1. Я пишу потоковый процессор kafka, который получает несколько событий, он должен обрабатывать их и отправлять их в несколько исходящих REST API путем их пакетирования или отправки по мере их поступления.происходят, если они имеют высокий приоритет (определяется на основе классификации событий).
  2. Пакетная обработка должна быть привязана как ко времени (1 мин), так и к памяти (1 МБ).

Вопрос:Могу ли я использовать Кафку в качестве буфера для требования дозирования?

Идея состоит в том, чтобы определить производителя kafka с batch.size равным 1 МБ и linger.ms как 1 мин и поместить эти события в тему kafka, ключом которой является идентификатор URL-адреса исходящего API.Потребительские потоки будут затем читать все сообщения за один раз каждую минуту (или всякий раз, когда они получают полезную нагрузку размером 1 МБ), группировать все их в одну полезную нагрузку и обращаться к исходящему API.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...