API-интерфейсы Apache Kafka Streams или API для производителей / потребителей - PullRequest
0 голосов
/ 30 июня 2018

Надеюсь, это не слишком близорукий вопрос, но я изо всех сил пытался понять, как работает Apache Kafka. Я пытался создать потоковый сервис, который будет принимать простое pojo, предоставляемое методом POST, запускать временное окно на основе временной метки этого pojo и предоставлять список pojos, которые также были POST помещены в потоковый сервис внутри этого окна. временное ограничение.

Я прошел несколько различных уроков и дошел до того, что у меня есть потоковая служба с настраиваемой фабрикой Consumer и Producer и конфигами, которая использует аннотации Spring для прослушивания тем. Поэтому я могу отправлять и получать pojos с сериализацией только с API-интерфейсами Consumer и Producer.

Там, где у меня возникают проблемы, это реализация оконного времени и способ хранения оконных записей. Я не уверен, использовать ли только API Streams, API Consumer / Producer или все вместе. Я пытаюсь сделать это как приложение SpringBoot. Это мой первый раз, когда я занимаюсь чем-то подобным, и я буду очень признателен за любые советы или советы.

Спасибо.

1 Ответ

0 голосов
/ 30 июня 2018

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

Однако, с Kafka Streams, наряду с возможностью службы сообщений, Kafka также обрабатывает логику потоковой передачи для вас, чтобы вы могли сосредоточиться на своей бизнес-логике.

Итак, я бы предложил использовать Kafka Streams. Вы также можете проверить CEP (Continuous Event Processing) движки, которые поддерживают окна и возможности потоковой обработки, такие как Esper и Siddhi.

...