Arquitetura de software · Confiabilidade e segurança · 5 min de leitura
Idempotência, retries e backoff
Redes falham: repetir uma requisição é necessário, mas só é seguro se a operação puder ser repetida sem efeito duplicado.
Arraste para o lado para ver o diagrama inteiro.
Idempotência
Uma operação é idempotente quando repeti-la produz o mesmo efeito que fazê-la uma vez. GET, PUT e DELETE devem ser; POST (como “criar pagamento”) precisa de uma chave de idempotência enviada pelo cliente e guardada pelo servidor.
Retries com backoff e jitter
- Repita só erros temporários (timeout, 503, 429).
- Espere cada vez mais entre tentativas (backoff exponencial) com um componente aleatório (jitter) para os clientes não voltarem todos juntos.
- Defina um número máximo de tentativas e um tempo total.
Em resumo
- Repetir é inevitável em sistemas distribuídos.
- Chave de idempotência evita efeito duplicado.
- Backoff exponencial + jitter evitam avalanches.
- Só repita erros temporários.