← AWS Developer Associate: aplicações e operação
01 / 9 · 30 MIN

Eventos, retries e idempotência

Desenvolve consumidores que suportam duplicação, falhas e dependências lentas.

Conceito e mecanismo

Uma mensagem recebida não é uma operação de negócio concluída. Se uma Lambda processa SQS standard, a aplicação deve suportar nova entrega do mesmo trabalho. Usa uma identidade estável da operação e um estado persistente que permita distinguir pendente, concluído e resultado incerto. Guardar apenas o ID da invocação não reconhece uma nova tentativa. Num lote, uma falha pode repetir também itens que já tiveram sucesso. Respostas parciais exigem configuração do event source mapping e um handler que devolva os identificadores das falhas segundo o contrato. A idempotência continua necessária porque reduzir retries não garante execução única.

Aplicação guiada

Numa integração bancária fictícia, um timeout após submeter uma instrução pode significar que o destino aceitou mas a resposta se perdeu. Consulta o estado ou usa o contrato idempotente suportado antes de reenviar. Para falhas transitórias, combina tentativas limitadas e backoff com o prazo global; o SDK pode já repetir chamadas. Um circuit breaker limita pressão sobre uma dependência degradada e testa recuperação de forma controlada. EventBridge permite encaminhar eventos por padrões: ensaia correspondências e não correspondências. Ao reutilizar um ambiente Lambda, mantém clientes SDK reutilizáveis, mas separa dados de utilizadores e pedidos para impedir contaminação entre invocações.

NA PRÁTICA

Num lote standard com A e C concluídas e B inválida, devolve apenas B como falha quando a resposta parcial está ativa. Uma exceção não tratada do handler continua a representar falha do lote.

Armadilhas comuns

Usar retries sem prazo; confirmar mensagens inválidas; assumir que FIFO elimina todos os efeitos duplicados; guardar estado de cliente numa variável global.

Tópicos relacionados: Dados, concorrência e paginação · Identidades e autorização por recurso

Leva esta ideia contigo

Separa entrega, execução e confirmação do efeito de negócio.

Criar conta

Referência: Lambda with SQS · DVA-C02; exam guide 2.1

AWS é uma marca comercial da Amazon.com, Inc. ou das suas afiliadas. A dr.pt é uma plataforma de preparação independente e não está afiliada, associada, patrocinada, autorizada nem aprovada por AWS. Os conteúdos e as perguntas são originais, não são perguntas oficiais de exame, e concluir os nossos testes não atribui nem garante qualquer certificação. Os nomes são usados apenas para identificar o tema. Todas as outras marcas pertencem aos respetivos titulares.