Capacidade de endereçamento de microsserviços e o Registro do serviçoMicroservices addressability and the service registry

Cada microsserviço tem um nome exclusivo (URL) usado para resolver sua localização.Each microservice has a unique name (URL) that's used to resolve its location. O microsserviço precisa ser endereçável independentemente do local em que está sendo executado.Your microservice needs to be addressable wherever it's running. Se você tiver que pensar em qual computador está executando um microsserviço específico, as coisas poderão se complicar rapidamente.If you have to think about which computer is running a particular microservice, things can go bad quickly. Da mesma forma que o DNS resolve uma URL para um determinado computador, seu microsserviço precisa ter um nome exclusivo para que seu local atual seja detectável.In the same way that DNS resolves a URL to a particular computer, your microservice needs to have a unique name so that its current location is discoverable. Os microsserviços precisam de nomes endereçáveis que os tornem independentes da infraestrutura na qual eles estão sendo executados.Microservices need addressable names that make them independent from the infrastructure that they're running on. Isso implica que há uma interação entre a maneira como seu serviço é implantado e como ele é detectado, porque deve haver um Registro do serviço.This implies that there's an interaction between how your service is deployed and how it's discovered, because there needs to be a service registry. Do mesmo modo, quando um computador falha, o serviço de Registro deve ser capaz de indicar o local em que o serviço está sendo executado no momento.In the same vein, when a computer fails, the registry service must be able to indicate where the service is now running.

O padrão de Registro de serviço é uma parte importante da descoberta de serviço.The service registry pattern is a key part of service discovery. O Registro é um banco de dados que contém os locais de rede das instâncias de serviço.The registry is a database containing the network locations of service instances. Um Registro de serviço precisa ser atualizado e estar altamente disponível.A service registry needs to be highly available and up-to-date. Os clientes podem armazenar locais de rede em cache obtidos do Registro de serviço.Clients could cache network locations obtained from the service registry. No entanto, essas informações eventualmente ficam desatualizadas e os clientes não podem mais descobrir instâncias de serviço.However, that information eventually goes out of date and clients can no longer discover service instances. Consequentemente, um Registro de serviço consiste em um cluster de servidores que usam um protocolo de replicação para manter a consistência.Consequently, a service registry consists of a cluster of servers that use a replication protocol to maintain consistency.

Em alguns ambientes de implantação de microsserviço (chamados clusters, a serem abordados em uma seção posterior), a descoberta de serviço é interna.In some microservice deployment environments (called clusters, to be covered in a later section), service discovery is built-in. Por exemplo, um ambiente do AKS (Serviço de Contêiner do Azure com Kubernetes) pode manipular o registro e o cancelamento de registro da instância de serviço.For example, an Azure Container Service with Kubernetes (AKS) environment can handle service instance registration and deregistration. Ele também executa um proxy em cada host de cluster que desempenha a função de roteador de descoberta do servidor.It also runs a proxy on each cluster host that plays the role of server-side discovery router.

Recursos adicionaisAdditional resources