Я хочу получить доступ из другого приложения к этому хранилищу значений ключей и получать данные из этого хранилища, потому что хочу поделиться этой статистикой через конечную точку отдыха. Возможно ли это?
Да, это возможно. Функция называется интерактивные запросы в 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» и т. Д., Поскольку потребности разных разработчиков часто сильно отличаются.)