O fluxo de trabalho de checkout de e-commerce de uma empresa grava um pedido em um banco de dados e chama um serviço de pagamento. Os usuários experimentam tempos limite durante o checkout; quando eles reenviam, vários pedidos exclusivos são criados para a mesma transação. Como um arquiteto de soluções deve refatorar o fluxo de trabalho para evitar vários pedidos?
Escolha uma resposta
Toque em uma opção para verificar sua resposta.
Resposta correta: Armazenar o pedido no banco de dados. Enviar uma mensagem que inclua o número do pedido para uma fila Amazon Simple Queue Service (Amazon SQS) FIFO. Fazer com que o serviço de pagamento recupere a mensagem, processe o pedido e, em seguida, exclua a mensagem da fila..
Por que esta é a resposta
A opção correta é usar uma fila Amazon SQS FIFO (First-In, First-Out). As filas FIFO garantem que a ordem das mensagens seja preservada e, crucialmente, que as mensagens sejam processadas exatamente uma vez. Ao armazenar o pedido no banco de dados e enviar o número do pedido para uma fila SQS FIFO, o serviço de pagamento pode consumir a mensagem, processar o pedido e, em seguida, excluí-la da fila. Se houver um tempo limite e o usuário reenviar, a lógica de desduplicação do SQS FIFO (usando um ID de desduplicação de mensagem ou um grupo de mensagens) evitará a criação de pedidos duplicados para a mesma transação. As outras opções não resolvem o problema de duplicação de forma eficaz: Kinesis Data Firehose é para entrega de dados em massa e não garante processamento único ou ordem de mensagens para este caso de uso transacional. AWS CloudTrail é um serviço de auditoria e registro, não um mecanismo para orquestração de fluxo de trabalho ou prevenção de duplicação. Amazon SNS é um serviço de publicação/assinatura e não garante processamento único; múltiplos assinantes podem receber a mesma mensagem, e ele não oferece desduplicação inerente para este cenário.
Passe no seu exame — sem a busca interminável por respostas
Obtenha todas as perguntas e explicações verificadas para este exame em um só lugar e economize horas de preparação. Mais de 1.000 certificações · Mais de 20 idiomas · Grátis para começar.
Passe no seu exame mais rápido → Não é necessário cartão