Как использовать разные базы данних для микросервисов?
есть два сервиса: авторизация и создание заказа, соответственно должно быть 2 бд
Не понимаю как спроектировать базы данных так как у таблицы заказа есть поле user_id что бы оно ссылалось на первую базу данных с юзерами
Сервисы вообще могут не общаться напрямую. Сервис авторизации выдаёт приложению токен, содержащий id и права пользователя, сервис заказа принимает этот токен от приложения и использует информацию, указанную в нём.
Не понимаю как спроектировать базы данных так как у таблицы заказа есть поле user_id что бы оно ссылалось на первую базу данных с юзерами
В рамках микросервисной архитектуры - это невозможно. Ссылочная целостность не поддерживается. Каждый микро-сервис имеет свою независимую БД и связывать их вобщем-то нельзя. Если даже мы их как-то свяжем - то получается схема при которой 2 сервиса зависят от связки двух БД. Это - слабое место в системе. И при отказе одной из БД оба сервиса станут недоступны.