

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

# Cenários de recuperação de interrupção no Amazon SQS
<a name="designing-for-outage-recovery-scenarios"></a>

O processo de eliminação de duplicação em filas FIFO é depende do tempo. Ao projetar sua aplicação, garanta que o produtor e o consumidor possam se recuperar de interrupções de cliente ou da rede sem introduzir duplicações ou falhas de processamento.

Considerações sobre o produtor
+ O Amazon SQS impõe uma janela de desduplicação de cinco minutos.
+ Se um produtor tentar novamente uma solicitação [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html) após cinco minutos, o Amazon SQS a tratará como uma nova mensagem, potencialmente criando duplicatas.

Considerações sobre o consumidor
+ Se o consumidor não processar uma mensagem antes que o tempo limite de visibilidade expire, outro consumidor poderá recebê-la e processá-la, resultando em um processamento duplicado.
+ Ajuste o tempo limite de visibilidade com base no tempo de processamento da sua aplicação.
+ Use a API [https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ChangeMessageVisibility.html](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_ChangeMessageVisibility.html) para estender o tempo limite enquanto uma mensagem ainda está sendo processada.
+ Se uma mensagem falhar repetidamente no processamento, encaminhe-a para uma [fila de mensagens não entregues (DLQ)](sqs-dead-letter-queues.md) em vez de permitir que ela seja reprocessada indefinidamente.
+ O produtor deve estar ciente do intervalo de eliminação de duplicação da fila. O Amazon SQS tem um intervalo de eliminação de duplicação de cinco minutos. Repetir solicitações `SendMessage` após a expiração do intervalo da eliminação de duplicação pode introduzir mensagens duplicadas na fila. Por exemplo, um dispositivo móvel em um carro envia mensagens cuja ordem é importante. Se o carro perder a conectividade celular por um período antes de receber uma confirmação, tentar novamente a solicitação depois de recuperada a conectividade celular pode criar uma duplicação.
+ O consumidor deve ter um tempo limite de visibilidade que minimize o risco de não conseguir processar as mensagens antes que o tempo limite de visibilidade expire. Você pode estender o tempo limite de visibilidade enquanto as mensagens estão sendo processadas chamando a ação `ChangeMessageVisibility`. No entanto, se o tempo limite de visibilidade expirar, outro consumidor poderá começar imediatamente a processar as mensagens, fazendo com que uma mensagem seja processada várias vezes. Para evitar essa situação, configure uma [dead letter queue](sqs-dead-letter-queues.md).