O objetivo dos microsserviços é aumentar a velocidade das liberações de aplicativos, decompondo o aplicativo em pequenos serviços autônomos que podem ser implantados de forma independente. Uma arquitetura de microsserviços também traz alguns desafios. Os padrões de design mostrados aqui podem ajudar a mitigar esses desafios.
O Ambassador pode ser usado para descarregar tarefas comuns de conectividade do cliente, como monitoramento, registro, roteamento e segurança (como TLS) de forma independente de idioma. Os serviços Ambassador são frequentemente utilizados como um sidecar (ver abaixo).
A camada anticorrupção implementa uma fachada entre aplicativos novos e legados, para garantir que o design de um novo aplicativo não seja limitado por dependências de sistemas legados.
Backends para Frontends cria serviços de back-end separados para diferentes tipos de clientes, como desktop e mobile. Dessa forma, um único serviço de back-end não precisa lidar com os requisitos conflitantes de vários tipos de clientes. Esse padrão pode ajudar a manter cada microsserviço simples, separando as preocupações específicas do cliente.
A antepara isola recursos críticos, como pool de conexões, memória e CPU, para cada carga de trabalho ou serviço. Ao usar anteparas, uma única carga de trabalho (ou serviço) não pode consumir todos os recursos, deixando outros famintos. Esse padrão aumenta a resiliência do sistema, evitando falhas em cascata causadas por um serviço.
A Agregação de Gateway agrega solicitações a vários microsserviços individuais em uma única solicitação, reduzindo a conversação entre consumidores e serviços.
O Descarregamento de Gateway permite que cada microsserviço descarregue a funcionalidade de serviço compartilhado, como o uso de certificados SSL, para um gateway de API.
O Roteamento de Gateway roteia solicitações para vários microsserviços usando um único ponto de extremidade, para que os consumidores não precisem gerenciar muitos pontos de extremidade separados.
O Messaging Bridge integra sistemas diferentes construídos com diferentes infraestruturas de mensagens.
O Sidecar implanta componentes auxiliares de um aplicativo como um contêiner ou processo separado para fornecer isolamento e encapsulamento.
O Strangler Fig suporta a refatoração incremental de um aplicativo, substituindo gradualmente partes específicas de funcionalidade por novos serviços.
Para obter o catálogo completo de padrões de design de nuvem no Centro de Arquitetura do Azure, consulte Padrões de design de nuvem.
Próximos passos
- Treinamento: Decompor um aplicativo monolítico em uma arquitetura de microsserviços
- O que são microsserviços?
- Por que usar uma abordagem de microsserviços para criar aplicativos
- Arquitetura de microsserviços