@The_Pro_Killer

Как объединить данные из нескольких микросервисов?

У меня есть несколько микросервисов (например, их 3), назову их А, Б и В. Все они подключены к одной БД (Postgres), и для каждого микросервиса в БД есть своя схема со своими таблицами. В каждом микросервисе хранятся определенные данные по заявке (будем считать, что я работаю с какими-то заявками), то есть в А хранится информация об изменяемых полях, в сервисе Б - о неизменяемых, и в В - еще какая-то информация (это все примерно). И сейчас мне нужно фильтровать заявки по разным полям, то есть мне надо будет сходить в каждый сервис и там отфильтровать заявку. Фильтрация для процесса, который я описал - в принципе легкая и нет ничего такого в том, чтобы походить по сервисам и сделать фильтрацию. Но у меня вопрос: есть ли возможность как-то объединить данные из всех трех микросервисов и делать фильтрацию только в этом (новом сервисе?)? Слышал что-то про Apache Ignite Cache, но не знаю, в правильную ли сторону я копаю... То есть по сути я хочу сделать что-то вроде кэша. Буду рад любым предложениям!
  • Вопрос задан
  • 241 просмотр
Пригласить эксперта
Ответы на вопрос 2
@holyx
ДевОпс Сисадмин
Если вы хотите получить сводную таблицу из 3х с определёнными условиями, то просто средствами 4го микросервиса делаете запрос к БД с JOINом из 3х таблиц по условиям. А дальше что с этими данными вы собираетесь делать, отображать в браузере, куда-то передавать результаты, сохранять в 4ю таблицу?
Ответ написан
Комментировать
@nApoBo3
Агрегацию данных производит потребитель данных. Но гипотетическая декомпозиция у вас в примере странная.
Микросервис это законченное самоценное приложение.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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