Я планирую построить проект на микроуслугах. Мне было интересно узнать, какой дизайн будет лучше с точки зрения базы данных?
1) Храните отдельную базу данных для каждой услуги, как показано на рисунке.
2) Несколько приложений указывают на 1 базу данных.
Если я веду отдельную базу данных для каждой службы, как мы решаем, где хранить таблицы сопоставления?
Например, у нас есть сервис Клиенты (отдельный проект говорит с БД 1) и сервис Продукты (отдельный проект говорит с БД 2), где я должен хранить клиента и продукт отображение (продукты, купленные клиентом)?
Как насчет модуля отчетов в долгосрочной перспективе, где мне нужны объединения по нескольким таблицам (которые находятся в разных базах данных из-за архитектуры, упомянутой в пункт 1)?