As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Padrões de mensagens de dissociação
Esse padrão fornece comunicação assíncrona entre microsserviços usando um modelo de pesquisa assíncrona. Quando o sistema de back-end recebe uma chamada, ele responde imediatamente com um identificador de solicitação e processa a solicitação de forma assíncrona. Uma arquitetura fracamente acoplada pode ser construída, o que evita gargalos causados pela comunicação síncrona, latência e operações de entrada/saída (IO). No caso de uso do padrão, o Amazon Simple Queue Service (Amazon SQS), o Amazon SQS (Amazon SQS) e o Lambda são usados para implementar a comunicação assíncrona entre diferentes microsserviços.
Você deve considerar o uso desse padrão se:
-
Você deseja criar uma arquitetura fracamente acoplada.
-
Nem todas as operações precisam ser concluídas em uma única transação, e algumas operações podem ser assíncronas.
-
O sistema de downstream não consegue lidar com a taxa de entrada de transações por segundo (TPS). As mensagens podem ser gravadas na fila e processadas com base na disponibilidade de recursos.
Uma desvantagem desse padrão é que as ações das transações comerciais são síncronas. Mesmo que o sistema de chamada receba uma resposta, alguma parte da transação ainda pode continuar sendo processada pelos sistemas posteriores.
Importante
Como esse padrão é mais adequado para um modelo de atirar e esquecer, o cliente que está chamando esse serviço deve pesquisar o serviço real usando um ID de solicitação para obter o status da transação.
Caso de uso
Nesse caso de uso, o sistema de seguro tem um banco de dados de vendas que é atualizado automaticamente com os detalhes da transação do cliente após o pagamento mensal. A ilustração a seguir mostra como criar esse sistema usando o padrão de mensagens de dissociação.
O fluxo de trabalho consiste nas seguintes etapas:
O aplicativo de front-end chama o API Gateway com as informações de pagamento depois que o usuário faz o pagamento mensal.
O API Gateway executa a função do Lambda “Cliente” que salva as informações de pagamento em um banco de dados Amazon Aurora, grava os detalhes da transação em uma mensagem para o Amazon SQS “Vendas” e responde ao sistema de chamadas com uma mensagem de sucesso.
Uma função do Lambda “Sales” extrai os detalhes da transação da mensagem SQS e atualiza os dados de vendas. A lógica de falha e repetição para atualizar o banco de dados de vendas é incorporada como parte da função do Lambda “Sales”.