Как лучше организовать общение с микросервисом?

Доброго времени суток.
Имеется приложение на Node.JS в связке с кластером.
Задача: при определенном событии от пользователя поставить задачу на выполнение к API, который выполнит цепочку запросов и вернет ответ.

Проблема: на Node.JS подняты кластеры, однако для корректной работы API по моему мнению требуется абстрагировать его в отдельный процесс, ибо нужен единый setTimeout для опрашивания API и единый ограничитель RPS.

Решение: с кластера на сервис API отправлять сообщение через какой-нибудь брокер с подтверждающей очередью, далее чтобы этот сервис обрабатывал этот запрос, сам же заносил результат работы в БД и отправлял уведомление через Redis pub/sub об окончании работы, если пользователь онлайн. Если нет - информация подтянется через БД при следующем заходе пользователя.

Вопросы:
1) Нормально ли организовывать одностороннее общение между основным приложением и микросервисом через брокер сообщений?
2) Нормально ли делегировать на микросервис работу с БД основного приложения? По факту он будет лишь обновлять какие-то данные, которые изначально основное приложение туда их инициализирует.

Да и в целом верно ли я двигаюсь?
  • Вопрос задан
  • 381 просмотр
Решения вопроса 1
IDONTSUDO
@IDONTSUDO
ЧСВ программистов идет в комплекте с первой IDE.
То что вы прочтете ниже относительно универсальной серебрянной пули нет.

1) Вообще я рекомендовал бы это делать на прямую через сокеты.
2) Ни что не истина все дозволено, и очень сильно зависит от задач. Я не думаю, что смогу рассказать это точно так же как Илья Климов *ссылка на лекцию по микросервисам*
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы