Condividi tramite


Indirizzabilità dei microservizi e registro dei servizi

Suggerimento

Questo contenuto è un estratto dell'eBook, Architettura di microservizi .NET per applicazioni .NET containerizzati, disponibile in documentazione .NET o come PDF scaricabile gratuitamente leggibile offline.

Architettura di Microservizi .NET per Applicazioni .NET Containerizzate miniatura della copertina dell'eBook.

Ogni microservizio ha un nome univoco (URL) utilizzato per individuare la sua posizione. Il tuo microservizio deve poter essere indirizzabile ovunque sia in esecuzione. Se è necessario considerare quale computer esegue un particolare microservizio, le cose possono andare male rapidamente. Allo stesso modo in cui DNS risolve un URL in un determinato computer, il microservizio deve avere un nome univoco in modo che la posizione corrente sia individuabile. I microservizi necessitano di nomi indirizzabili che li rendono indipendenti dall'infrastruttura su cui sono in esecuzione. Questo approccio implica che esiste un'interazione tra il modo in cui il servizio viene distribuito e il modo in cui viene individuato, perché deve essere presente un registro dei servizi. Allo stesso modo, quando un computer si guasta, il servizio di registro deve essere in grado di indicare dove il servizio è attualmente in esecuzione.

Il modello del Registro di sistema del servizio è una parte fondamentale dell'individuazione dei servizi. Il Registro di sistema è un database contenente i percorsi di rete delle istanze del servizio. Un registro dei servizi deve essere a disponibilità elevata e up-to-date. I client possono memorizzare nella cache i percorsi di rete ottenuti dal registro dei servizi. Tuttavia, tali informazioni alla fine non sono aggiornate e i client non possono più individuare le istanze del servizio. Un registro dei servizi è quindi costituito da un cluster di server che usano un protocollo di replica per mantenere la coerenza.

In alcuni ambienti di distribuzione di microservizi (denominati cluster, da trattare in una sezione successiva), l'individuazione dei servizi è incorporata. Ad esempio, un ambiente Azure Kubernetes Service (AKS) può gestire la registrazione e la deregistrazione dell'istanza del servizio. Esegue anche un proxy in ogni host del cluster che svolge il ruolo del router di individuazione lato server.

Risorse aggiuntive