Ответ
Нет, это противоречит принципам микросервисной архитектуры. Каждый микросервис должен иметь свою изолированную базу данных (Database per Service). Это обеспечивает:
- Независимость сервисов - изменения в схеме БД одного сервиса не ломают другие
- Масштабируемость - можно выбирать оптимальный тип БД для каждого сервиса
- Отказоустойчивость - падение одной БД не влияет на всю систему
Исключение - shared базы для кеширования или аналитики, но не для бизнес-логики.
Пример:
# docker-compose.yml
services:
orders-service:
image: orders
environment:
DB_URL: postgres://orders-db
payments-service:
image: payments
environment:
DB_URL: mongodb://payments-db