Нужно ли при такой задаче объединить микросервисы в одно приложение?

Рейтинг: 0Ответов: 0Опубликовано: 24.05.2023

Есть два микросервиса:

  1. Для управления пользователями и работы с структурой Таблица
user
id parentId login

Для работы с структурой используется SQL запрос:

with recursive cte as ( select id, 1 as depth from user where parentId = ${userId} union all select p.id, cte.depth + 1 from user p inner join cte on p.parentId = cte.id )
  1. Для хранения данных об покупках пользователя
purchase
id userId amount

Задача: В 1 микросервисе возвращать новый столбец turnover т.е это сумма всех покупок дочерних пользователей у которых стоит parentId пользователя.

Проблема в том что эти 2 микросервиса друг от други изолированы и делать на каждого пользователя запросы в отдельный микросервис выглядит не очень оптимизровано.

Проще всего мне кажется это добавитьinner join purchase в этот рекурсивный запрос.

Вопрос: При изначальном проектировании архитектуры правильно было бы объединить эти две сущности в одно приложение или разместить таблицы в 1 базе данных?

P.S Это только тестовый проект для обучения микросервисов.

Ответы

Ответов пока нет.