Capsule Informatiche di Lello De Luca
← Tutte le Capsule

Database per Service

Dati e consistenzaPattern classico

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

Microservices Design Patterns - Draft

Draft caricato nel progetto

ADT - Architettura tecnica e pattern distribuiti

Capsule Informatiche · Materiale progettuale