@BITniki

Допустимы ли REST запросы между сервисами в событийно-ориентированной архитектуре?

Изучаю СОА и пытаюсь написать пример на её основе. В ходе проектирования возник вопрос, который у меня не получается нагуглить.

Коротко: при обработке события сервису требуется информация, за которую отвечает другой сервис. Нормально ли делать синхронный запрос из одного сервиса в другой для получения этой информации или это плохой дизайн?

Длинно:
Я разрабатываю сервис для настройки подключений к моему ВПН хосту. Юзер через тг бота может получить конфиг и поднять туннель. Доступ платный, по подписке, на разных уровнях подписки доступно разное кол-во активных конфигов.

Я выделил три сервиса:
- Тг бот -- фронтенд сервиса
- Сервис подписок (СП) -- хранит информацию о подписках юзеров, обрабатывает платежи
- Сервис управления подключениями (СУП) -- управляет подключениями юзеров

Тг бот может выводить пользователю существующие уровни подписки, текущую подписку, существующие подключения. Соответственно тг боту требуется запрашивать эту информацию у других сервисов. Городить костыли в виде запроса данных через брокера кажется излишним. Но нормально ли ему делать REST запросы конкретно к этим сервисам или, может, стоит выделить отдельный сервис для получения подобной "справочной" информации, который будет работать напрямую с бд.

Или вот обработка события "создания нового подключения":
- Бот кладёт в брокера заявку на создание нового подключения
- СУП получает заявку, валидирует, после чего создаёт новое подключение
Для валидации заявки СУПу требуется информация о текущей подписке пользователя. Нормально ли сделать REST запрос в СП? Или лучше сразу запаковать эту информацию с заявкой? Но тогда это будто просто перенос обязанности
сдалать запрос от СУП к тг боту и смысла много не имеет
  • Вопрос задан
  • 66 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы