Сценарий:
В настоящее время мы имеем многоуровневую архитектуру по этому шаблону
DBLayer => Tasks to DB
SouthBound => Talks to other devices like router/controller
SrvcLayer => Talks to both SouthBound and DBLayer
UILayer => Talks to UI and SrvcLayer
Приложение построено на Spring 4.2, Java 8, MongoDB
.
Требования:
Нам нужно отделить SouthBound как отдельное приложение или, скажем, Micro Service.
Проблема:
Мы думаем о 2 путях
Предоставление сервисов в SouthBound как REST API и использование их в SrvcLayer.
Это добавит некоторую задержку и потребует выяснения безопасности.
Использовать очередь сообщений, например, RabbitMQ. Но эти звонки должны быть синхронными. Поэтому я не уверен, что RabbitMQ нам поможет.
Какой подход подойдет.
Любое другое предложение о том, как создать этот вариант использования.