Постоянно слушайте тему, выбирайте данные, выполняйте некоторые базовые чистки - PullRequest
0 голосов
/ 28 ноября 2018

Я собираюсь создать потоковое приложение Kafka на основе Java, которое будет непрерывно слушать тему X, извлекать данные, выполнять некоторые базовые операции очистки и записи в базу данных Oracle.Кластер kafka находится за пределами моего домена и не имеет возможности развертывать в нем какой-либо код или конфигурации.

Каков наилучший способ разработки такого решения?Я сталкивался с Kafka Streams, но не понимал, можно ли его использовать для сценариев «Тема> Процесс> Тема»?

1 Ответ

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

Я наткнулся на Kafka Streams, но был озадачен тем, можно ли его использовать для сценариев «Тема> Процесс> Тема»?

Абсолютно.

Например, исключая шаг «процесс», это две строки за пределами настройки конфигурации.

final StreamsBuilder builder = new StreamsBuilder();
builder.stream("streams-plaintext-input").to("streams-pipe-output");

Этот код взят прямо из документации


Если вы хотите записать в любую базу данных, вам следует сначала проверить, есть липлагин Kafka Connect , который сделает это за вас.На самом деле потоки Kafka не должны использоваться для чтения / записи из / на внешние системы за пределами Kafka, поскольку они чувствительны к задержке.

В вашем случае JDBC Sink Connector будет работать хорошо.

Кластер kafka находится за пределами моего домена и не имеет возможности развертывать в нем какой-либо код или конфигурации.

При использовании любого из указанных выше решений вам не нужно,но вам понадобится какой-нибудь компьютер с установленной Java для запуска непрерывного приложения Kafka Streams и / или работника Kafka Connect.

...