#java #spring #queue #microservices #spring-cloud
#java #spring #очередь #микросервисы #spring-облако
Вопрос:
У меня есть два микросервиса. Service #1
помещает в очередь определенный объект (таблицу в базе данных), который необходимо обработать. После этого, в service #2
, диспетчер берет новые записи из очереди каждые несколько секунд и обрабатывает их, а затем сохраняет результат в виде json в базе данных. Вопрос в том, как мне уведомить service #1
о результате обработки?
Ответ №1:
Вы можете добиться этого, используя любые брокеры обмена сообщениями ActiveMQ или RabbitMQ. Пожалуйста, обратитесь: https://spring.io/guides/gs/messaging-rabbitmq / Пожалуйста, используйте приемник rabbitmq, чтобы получить уведомление и соответствующим образом запустить обработку для вашей службы 1
Ответ №2:
Вы можете настроить Kafka для вашего взаимодействия с микросервисом. Для уведомления service #1
вы можете отправить событие из service #2
через Kafka. Предположим, из service #2
вы отправите событие с именем «PROCESSING_DONE» и service #1
прослушаете это событие и сможете выполнить дальнейшую обработку.
Все это будет происходить в режиме реального времени.