Kafka Consumer API против API потоков для фильтрации событий - PullRequest
0 голосов
/ 15 ноября 2018

Должен ли я использовать Kafka Consumer API или Kafka Streams API для этого варианта использования? У меня есть тема с несколькими группами потребителей, потребляющими ее. Этот раздел содержит событие одного типа, которое представляет собой сообщение JSON с внутренним полем типа. Некоторые сообщения будут потребляться некоторыми группами потребителей, а не другими, одна группа потребителей, вероятно, вообще не будет потреблять много сообщений.

Мой вопрос: Должен ли я использовать потребительский API, затем при каждом событии читать поле типа и удалять или обрабатывать событие на основе поля типа.

ИЛИ, должен ли я выполнять фильтрацию с использованием API-интерфейса Streams, метода фильтрации и предиката?

После того, как я получу событие, планируется обработать это событие (удаление БД, обновление или другое в зависимости от службы), а затем, если произойдет сбой, я выведу его в отдельную очередь, которую позже обработаю.

Спасибо.

1 Ответ

0 голосов
/ 16 ноября 2018

Это, скорее, вопрос мнения.Лично я бы пошел с Streams / KSQL, вероятно, меньшим кодом, который вам пришлось бы поддерживать.У вас может быть другая промежуточная тема, которая содержит очищенные данные, которые вы затем можете присоединить к приемнику Connect, другим потребителям или другим процессам Stream и KSQL.Используя потоки, вы можете масштабировать одно приложение на разных машинах, вы можете хранить состояние, иметь резервные реплики и многое другое, что будет PITA, чтобы сделать все это самостоятельно.

...