Нет ничего необычного в том, чтобы иметь несколько вызовов, необходимых для поддержки одного запроса.

аюсь создать микросервисную архитектуру, используяLumen / Laravel Passport.

У меня есть несколько dockerized сервисов, которые все работают как отдельный контейнер приложений Lumen на разных виртуальных машинах:

Сервис API Gateway (интегрирован с Laravel Passport для аутентификации и проверки запросов для дальнейшей обработки)Чат Сервис (сервис для обмена сообщениями / чаты)Служба новостей… (И многие другие услуги)

Все эти сервисы имеют свои собственные отдельные базы данных Redis / MySQL, например.

В монолитном приложении, например, в базе данных была таблица User, были связи между таблицами и так далее. Я использовал JOIN и другие запросы для извлечения данных в соответствии с логическим выбором для текущего идентификатора пользователя.

Но теперь у меня есть общая страница в приложении Mobile / Web, например, и я должен получить многократную информацию из разных служб для одной текущей видимой страницы.

И для получения этих данных я отправляю несколько запросов в разные сервисы

Вопрос:

Какова наилучшая / правильная практика хранения пользовательской информации с использованием архитектуры микросервисов и как правильно извлекать соответствующие данные для этого пользователя из других микросервисов с минимальными потерями памяти / времени? И где хранить информацию пользователей, такую ​​как id, телефоны e.t.c, чтобы избежать дублирования данных?

Извините за возможное дублирование. Пытаюсь понять ..

Ответы на вопрос(2)

Ваш ответ на вопрос