Padrões de mensagens de dissociação - AWS Orientação prescritiva

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.

Padrões de mensagens de dissociação

O fluxo de trabalho consiste nas seguintes etapas:

  1. O aplicativo de front-end chama o API Gateway com as informações de pagamento depois que o usuário faz o pagamento mensal.

  2. 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.

  3. 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”.