SA Шпаргалка

Все ответы в 2 клика

Продвинутый

Что такое паттерн Database per Service и какие у него недостатки?

Database per Service (БД на каждый сервис) — это золотое правило микросервисов. Каждый сервис имеет свою изолированную БД. Сервис А не имеет права делать SQL-запросы в БД Сервиса Б. Обмен только через API/Kafka.

✅ Плюсы: Полная независимость команд, можно выбрать разные СУБД (Postgres для заказов, Neo4j для рекомендаций).

❌ Недостатки:
1. Распределенные транзакции: Нельзя сделать COMMIT сразу в двух БД (приходится внедрять сложный паттерн Saga).
2. Сложные выборки (JOIN): Чтобы собрать отчет по юзерам и их заказам, нужно делать API Composition или сливать данные в единое DWH.
3. Оверхед на инфраструктуру: Админам нужно поддерживать 50 баз данных вместо одной.

Сложная тема? Разберём на мок-интервьюЗаписаться на менторство →

Другие вопросы темы «Данные и Логи»

Ещё вопросы раздела «Микросервисы»

Все вопросы раздела «Микросервисы»