Spring как синхронизировать два микросервиса

#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 прослушаете это событие и сможете выполнить дальнейшую обработку.

Все это будет происходить в режиме реального времени.