QueryableStore доступен из другого идентификатора приложения - PullRequest
1 голос
/ 26 мая 2019

У меня есть приложение, которое потребляет в качестве потока все пользовательские действия, и я хочу подсчитать, например, сколько раз он видел домашнюю страницу и так далее, и так далее. Я осуществил подсчет в постоянное хранилище значений ключей. Я хочу иметь доступ из другого приложения к этому хранилищу значений ключей и получать данные из этого хранилища, потому что хочу поделиться этой статистикой через конечную точку отдыха. Возможно ли это?

1 Ответ

3 голосов
/ 27 мая 2019

Я хочу получить доступ из другого приложения к этому хранилищу значений ключей и получать данные из этого хранилища, потому что хочу поделиться этой статистикой через конечную точку отдыха. Возможно ли это?

Да, это возможно. Функция называется интерактивные запросы в Kafka Streams. Существует также демонстрационное приложение под названием Kafka Music , которое можно использовать в качестве отправной точки.

Ваше первое приложение использует Kafka Streams для непрерывного вычисления состояния, и оно также должно предоставлять sth, как REST / Thrift / ... API, который может запрашивать ваше второе приложение. Ваше второе приложение может быть любым: это может быть приложение Python, приложение JavaScript, даже инструмент командной строки, такой как curl - это не должно быть другое приложение Kafka Streams.

Вы должны вручную реализовать «API» вашего первого приложения с использованием любого инструмента REST и т. Д., Который вы предпочитаете использовать, как и для любого другого приложения Java, для которого требуется реализовать API REST. Kafka Streams предоставляет с помощью вышеупомянутой функциональности интерактивные запросы все необходимые методы для доступа и представления данных в ваших хранилищах состояния Kafka Streams через ваш API DIY. (Kafka Streams специально не предоставляет «API REST» или «API gRPC» и т. Д., Поскольку потребности разных разработчиков часто сильно отличаются.)

...