Delen via


Adresseerbaarheid van microservices en het serviceregister

Tip

Deze inhoud is een fragment uit het eBook, .NET Microservices Architecture for Containerized .NET Applications, beschikbaar op .NET Docs of als een gratis downloadbare PDF die offline kan worden gelezen.

.NET Microservices Architecture for Containerized .NET Applications eBook cover thumbnail.

Elke microservice heeft een unieke naam (URL) die wordt gebruikt om de locatie op te lossen. Uw microservice moet adresseerbaar zijn, ongeacht waar deze wordt uitgevoerd. Als u moet nadenken over welke computer een bepaalde microservice uitvoert, kan het snel slecht gaan. Op dezelfde manier dat DNS een URL naar een bepaalde computer oplost, moet uw microservice een unieke naam hebben, zodat de huidige locatie kan worden gedetecteerd. Microservices hebben adresseerbare namen nodig die ze onafhankelijk maken van de infrastructuur waarop ze worden uitgevoerd. Deze benadering impliceert dat er een interactie is tussen de manier waarop uw service wordt geïmplementeerd en hoe deze wordt gedetecteerd, omdat er een serviceregister moet zijn. Wanneer een computer uitvalt, moet de registerservice in dezelfde ader aangeven waar de service nu wordt uitgevoerd.

Het serviceregisterpatroon is een belangrijk onderdeel van de servicedetectie. Het register is een database met de netwerklocaties van service-exemplaren. Een serviceregister moet maximaal beschikbaar en up-to-date zijn. Clients kunnen netwerklocaties in de cache opslaan die zijn verkregen uit het serviceregister. Deze informatie verloopt echter uiteindelijk verouderd en clients kunnen geen service-exemplaren meer detecteren. Een serviceregister bestaat dus uit een cluster van servers die een replicatieprotocol gebruiken om consistentie te behouden.

In sommige microservice-implementatieomgevingen (clusters genoemd, die in een latere sectie moeten worden behandeld), is servicedetectie ingebouwd. Een AKS-omgeving (Azure Kubernetes Service) kan bijvoorbeeld registratie en de registratie van service-exemplaren verwerken. Er wordt ook een proxy uitgevoerd op elke clusterhost die de rol van detectierouter aan de serverzijde speelt.

Aanvullende bronnen