@matperez

Каким образом реализуются админки в микросервисной архитектуре?

Вот есть гипотетический проект реализованный в виде нескольких микросервисов. Пусть это будет магазин. Отдельный сервис для учетных записей пользователей, отдельный для заказов, отдельный для складского учета - у каждого отдельная база, все обмениваются событиями предметной области и поддерживают итоговую согласованность. Но, в то же время, есть менеджеры которым подавай агрегированную статистику с сортировкой и фильтрацией. Каким образом в этом случае реализуются админки в микросервисной архитектуре, ведь не бегать же по всем отдельным базам собирая необходимые данные?
  • Вопрос задан
  • 497 просмотров
Решения вопроса 1
@matperez Автор вопроса
Сам себе отвечу:

1. Бегать по микросервисам и собирать из них данные через их API для вывода в админке.
+ строгая согласованность
- медленно

2. Завести отдельную базу (Базу), в корой в денормализованном виде хранить все нужные данные вместе. Обновлять данные в Базе при изменениях в микросервисах. Админку строить на основе этой Базы.
+ быстро
- итоговая согласованность (не факт что в момент запроса ситуация будет именно такой как она представлена в единой базе)

3. Смешать оба способа. Что-то получать из базы общей, за чем-то ходить напрямую к сервисам.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

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

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