🎉 Il Necronomicon è stato aggiornato alla versione 2.0.0 🎉
Microservizi
Database dei Microservizi

I database nei microservizi

Un altro argomento su cui bisogna ragionare per la creazione di una MSA è la gestione e l'architettura dei database.

Possibili pattern di architettura

Database centralizzato

Una delle possibilità, come nelle Monolithic Application, è quella di avere un database centrale, che viene condiviso da tutti i microservizi. Questa soluzione è molto semplice da implementare, ma presenta alcuni problemi:

  • Il database centrale diventa un punto di bottleneck per tutta l'applicazione
  • Il database centrale diventa un punto di single point of failure per tutta l'applicazione

Questa soluzione è consigilabile solo se si ha un numero limitato di microservizi e se si ha un numero limitato di utenti.

Database per microservizio

Un'altra possibilità è quella di avere un database per ogni microservizio.

Questa soluzione presenta i seguenti problemi:

  • La difficoltà di implementazione è maggiore
  • La difficoltà di gestione è maggiore
  • La difficoltà di manutenzione è maggiore

Questa soluzione è consigliabile solo se si ha un numero elevato di microservizi e se si ha un numero elevato di utenti.

⚠️

Quest'ultima soluzione è anche quella consigliata a livello formale per quanto riguarda la gestione dei database all'interno dell'MSA. Questo però dipende anche dalla valutazione costo/benefici del progetto: - un progetto piccolo o da completare rapidamente predilige una soluzione più rapida e semplice - un progetto da far scalare e con prospettive di crescita/utilizzo ampie predilige una soluzione più complessa ma più scalabile e solida