Partilhar via


Endereçabilidade de microsserviços e o registro de serviço

Gorjeta

Este conteúdo é um trecho do eBook, .NET Microservices Architecture for Containerized .NET Applications, disponível no .NET Docs ou como um PDF para download gratuito que pode ser lido offline.

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

Cada microsserviço tem um nome exclusivo (URL) que é usado para resolver sua localização. Seu microsserviço precisa ser endereçável onde quer que esteja em execução. Se você tiver que pensar sobre qual computador está executando um determinado microsserviço, as coisas podem ficar ruins rapidamente. Da mesma forma que o DNS resolve uma URL para um computador específico, seu microsserviço precisa ter um nome exclusivo para que sua localização atual seja detetável. Os microsserviços precisam de nomes endereçáveis que os tornem independentes da infraestrutura em que estão sendo executados. Essa abordagem implica que há uma interação entre como o serviço é implantado e como ele é descoberto, porque precisa haver um registro de serviço. Na mesma linha, quando um computador falha, o serviço de registo deve ser capaz de indicar onde o serviço está agora a ser executado.

O padrão de registro de serviço é uma parte fundamental da descoberta de serviço. O registro é um banco de dados que contém os locais de rede das instâncias de serviço. Um registro de serviço precisa estar altamente disponível e atualizado. Os clientes podem armazenar em cache locais de rede obtidos do registro de serviço. No entanto, essas informações acabam ficando desatualizadas e os clientes não podem mais descobrir instâncias de serviço. Portanto, um registro de serviço consiste em um cluster de servidores que usam um protocolo de replicação para manter a consistência.

Em alguns ambientes de implantação de microsserviços (chamados clusters, a serem abordados em uma seção posterior), a descoberta de serviço é incorporada. Por exemplo, um ambiente do Serviço Kubernetes do Azure (AKS) pode lidar com o registro e cancelamento de registro de instância de serviço. Ele também executa um proxy em cada host de cluster que desempenha a função de roteador de descoberta do lado do servidor.

Recursos adicionais