Технически микросервисы могут использовать общую БД, но совместное владение таблицами связывает их изменения и релизы. Обычно предпочтительно явное владение данными каждым сервисом.
Могут ли микросервисы использовать общую базу данных? Это хорошая или нехорошая практика?
Технически микросервисы могут использовать общую БД, но совместное владение таблицами связывает их изменения и релизы. Обычно предпочтительно явное владение данными каждым сервисом.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Технически микросервисы могут использовать общую БД, но совместное владение таблицами связывает их изменения и релизы. Обычно предпочтительно явное владение данными каждым сервисом.
Один сервер БД с разными изолированными схемами — не то же самое, что свободная запись всех сервисов в общие таблицы. Главные риски общего хранилища: обход API, скрытые зависимости, блокировки и невозможность независимо менять схему. На переходном этапе общая БД может быть осознанным компромиссом с ограничениями доступа и планом разделения. Не выделяйте отдельные БД ради названия «микросервисы», не оценив стоимость распределённой согласованности.