Este documento fornece uma introdução à arquitetura de microsserviços. Explica as diferenças entre arquiteturas monolíticas e de microsserviços, abordando tópicos como comunicação síncrona e assíncrona, estilos de integração, gerenciamento de dados descentralizado e descoberta e registro de serviços. Finalmente, discute implantação usando Docker e Kubernetes.
10. SERVICE REGISTRY & DISCOVERY
Service Registry
O Registro de serviços contém as instâncias dos microservices e suas localizações. As instâncias do
Microservice são registradas no registro do serviço na inicialização e cancelaram o registro no
desligamento. Os consumidores podem encontrar os microservices disponíveis e seus locais através do
registro do serviço.
Service Discovery
Para encontrar os microservices disponíveis e sua localização, precisamos ter um mecanismo de
descoberta de serviço. Existem dois tipos de mecanismos de descoberta de serviço, Client-side
Discovery e Server-side Discovery.
INTEGRATING MICROSERVICES (INTER-SERVICE/PROCESS COMMUNICATION)
11. CLIENT-SIDE DISCOVERY
Nesta abordagem, o cliente ou a API-GW obtém a localização de uma instância de serviço
consultando um Service Registry.
INTEGRATING MICROSERVICES (INTER-SERVICE/PROCESS COMMUNICATION)
12. SERVER-SIDE DISCOVERY
Nesta abordagem, os clientes / API-GW enviam a solicitação para um componente
(geralmente um LoadBalancer) que é executado em um local bem conhecido e esse
componente chama o Service Registry e determina a localização absoluta do
microservice.
INTEGRATING MICROSERVICES (INTER-SERVICE/PROCESS COMMUNICATION)
As soluções de implantação de microservices,
como Kubernetes, oferecem mecanismos de
descoberta (Discovery Service) de service-side.
13. DEPLOYMENT
Visão geral da implantação dos microservices do
aplicativo de varejo.
Cada instância de microservice é implantada
como um contêiner e existem dois recipientes por
cada host.
Você pode alterar arbitrariamente o número de
contêineres que você executa em um
determinado host.
14. DOCKER
Quando se trata de arquitetura de microservices, a implantação de microservices desempenha um
papel crítico e possui os seguintes requisitos-chave:
>> Capacidade de implantar / desdobrar independentemente de outros microservices.
>> Deve ser capaz de escalar em cada nível de microservices (um determinado serviço pode obter
mais tráfego do que outros serviços).
>> A falha em um microservice não deve afetar nenhum dos outros serviços.
Docker (permite aos desenvolvedores e administradores de sistemas implantar contêineres de
aplicativos auto-suficientes em ambientes Linux) fornece uma ótima maneira de implantar
microservices e as principais etapas são as seguintes:
>> Coloque o microservice como uma imagem de recipiente (Docker).
>> Implante cada instância de serviço como um contêiner.
>> O dimensionamento é feito com base na alteração do número de instâncias de contêiner.
>> Construir, implementar e iniciar o microservice será muito mais rápido, pois estamos usando
recipientes Docker (é muito mais rápido do que uma VM normal)