← Tutte le CapsuleMicroservices Design Patterns - Draft ADT - Architettura tecnica e pattern distribuiti
Database per Service
Ogni servizio possiede il proprio modello di persistenza e gli altri accedono ai suoi dati tramite API o eventi.
Il problema
Servizi indipendenti diventano accoppiati se leggono o modificano direttamente le tabelle possedute da altri.
Il pattern
Ogni servizio possiede il proprio modello di persistenza e gli altri accedono ai suoi dati tramite API o eventi.
Come funziona
L'ownership è più importante della separazione fisica. Database distinti sono una forte barriera; schemi distinti possono essere una tappa intermedia. Le join cross-service vengono sostituite da API, eventi o read model.
Esempio sanitario
Benefici
- Autonomia di schema
- Deployment indipendente
- Riduce coupling ai dettagli DB
Trade-off
- Query cross-service più difficili
- Consistenza eventuale
- Più database da operare
Quando usarlo
Quando si vuole reale autonomia tra servizi.
Quando evitarlo
Quando si creano database separati senza separare ownership e dominio.
Pattern correlati
RIFERIMENTI
Fonti e riferimenti
Draft caricato nel progetto
Capsule Informatiche · Materiale progettuale
