#apache-kafka #kafka-rest
#apache-kafka #kafka-rest
Вопрос:
Я планирую разработать приложение, в котором запрос может быть выполнен с помощью клиента REST (SpringBoot REST), например, для получения списка различных доступных сервисов на основе географического кода.
Я публикую этот запрос как сообщение для Kafka. Существует потребитель (код Python), который прослушивает это сообщение, и по прибытии сообщения он просматривает различные хранилища (NoSQL / HDFS) и получает список служб.
У меня эта концепция работает до того момента, когда я получил запрос, использовал его и выдал результаты.
Я не уверен, как RestController / RestService может узнать, когда агрегация завершена и результаты готовы, чтобы он мог отправить ответ с общим размером обратно в браузер?
Любые идеи, предложения по этому поводу, пожалуйста?
Комментарии:
1. Привет, является ли использование RabbitMQ здесь опцией? У меня похожий сценарий, и у RabbitMQ есть механизм для его реализации. Если это вариант, я могу написать полный ответ, в котором я опишу, что делать.
2. Спасибо Клифф. К сожалению, нет, поскольку я привязан к Kafka. Однако, если бы вы могли упомянуть, как вы с этим справились, я могу проверить и посмотреть, смогу ли я воспроизвести что-то подобное в Kafka.
3. Привет, конечно. Идея использует возможности маршрутизации RabbitMQ. Маршрутизация — это не то, что делает Kafka. Если вам нужно сохранить Kafka, я бы посоветовал сначала изучить библиотеки Kafka Spring, которые реализуют запрос-ответ. Я не специалист по Spring, но эта тема стала достаточно зрелой, чтобы быть полностью обработанной библиотекой для стороны Java, но не уверена в стороне потребителя (python).