Padrões de design dos microsserviços

Serviços de nuvem do Azure

A meta 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 apresenta alguns desafios. Os padrões de design mostrados aqui podem ajudar a mitigar esses desafios.

Microservices design patterns

O Embaixador pode ser usado para descarregar tarefas comuns de conectividade do cliente, como monitoramento, registro, roteamento e segurança (como TLS) de forma independente de linguagem. Os serviços de embaixadores são frequentemente implantados como um sidecar (veja abaixo).

A camada anticorrupção implementa uma fachada entre aplicativos novos e herdados, para garantir que o design de um novo aplicativo não seja limitado por dependências em sistemas herdados.

O Back-end para Frontends cria serviços de back-end separados para diferentes tipos de clientes, como desktop e dispositivos móveis. Dessa forma, um único serviço de back-end não precisa lidar com os requisitos conflitantes de vários tipos de cliente. Esse padrão pode ajudar a manter cada microsserviço simples, separando as preocupações específicas do cliente.

O Bulkhead isola recursos críticos, como pool de conexões, memória e CPU, para cada carga de trabalho ou serviço. Ao usar bulkheads, uma única carga de trabalho (ou serviço) não pode consumir todos os recursos, deixando os outros sem nada. 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 transfira 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.

A Ponte de Mensagens integra sistemas diferentes criados com diferentes infraestruturas de mensagens.

O sidecar implanta os componentes de um aplicativo como um contêiner ou processo separado para fornecer isolamento e encapsulamento.

O Estrangulador Fig oferece suporte à 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óximas etapas