

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Domande frequenti
<a name="faq"></a>

Questa sezione fornisce le risposte alle domande più frequenti sull'abilitazione della persistenza dei dati nei microservizi.

## Quando posso modernizzare il mio database monolitico come parte del mio percorso di modernizzazione?
<a name="q1"></a>

È necessario concentrarsi sulla modernizzazione del database monolitico quando si inizia a scomporre applicazioni monolitiche in microservizi. Assicurati di creare una strategia per suddividere il database in più piccoli database allineati con le tue applicazioni.

## Posso mantenere un database monolitico legacy per più microservizi?
<a name="q2"></a>

Mantenere un database monolitico condiviso per più microservizi crea uno stretto collegamento, il che significa che non è possibile implementare in modo indipendente le modifiche ai microservizi e che tutte le modifiche allo schema devono essere coordinate tra i microservizi. Sebbene sia possibile utilizzare un data store relazionale come database monolitico, i database NoSQL potrebbero essere la scelta migliore per alcuni microservizi. 

## Cosa devo considerare quando si progettano database per un'architettura di microservizi?
<a name="q3"></a>

È necessario progettare l'applicazione in base a domini in linea con le funzionalità dell'applicazione. Assicuratevi di valutare la funzionalità dell'applicazione e di decidere se è necessario uno schema di database relazionale. Dovresti anche prendere in considerazione l'utilizzo di un database NoSQL, se soddisfa le tue esigenze.

## Qual è un modello comune per mantenere la coerenza dei dati tra diversi microservizi?
<a name="q4"></a>

Il modello più comune è l'utilizzo di un'architettura basata [sugli eventi](https://aws.amazon.com//event-driven-architecture/).

## Come posso mantenere l'automazione delle transazioni?
<a name="q5"></a>

In un'architettura di microservizi, una transazione è costituita da più transazioni locali gestite da microservizi diversi. Se una transazione locale fallisce, è necessario ripristinare le transazioni riuscite precedentemente completate. È possibile utilizzare il [Sagamodello](saga-pattern.md) per evitarlo. 

## Devo usare un database separato per ogni microservizio?
<a name="q6"></a>

Il vantaggio principale di un'architettura a microservizi è l'accoppiamento libero. I dati persistenti di ogni microservizio devono essere mantenuti privati e accessibili solo tramite l'API di un microservizio. Le modifiche allo schema dei dati devono essere valutate attentamente se i microservizi condividono lo stesso database. 

## Come posso mantenere privati i dati persistenti di un microservizio se tutti condividono un unico database?
<a name="q7"></a>

Se i tuoi microservizi condividono un database relazionale, assicurati di disporre di tabelle private per ogni microservizio. Puoi anche creare schemi individuali privati per i singoli microservizi.