Pular para o conteudo principal

Idempotencia

O que idempotencia significa em APIs e jobs, e por que repetir a mesma request não deveria repetir o mesmo efeito.

Andrews Ribeiro

Andrews Ribeiro

Founder & Engineer

O que e

Idempotencia significa que você pode repetir a mesma operação várias vezes, mas o efeito principal acontece uma vez só.

Isso protege o sistema quando o usuário clica duas vezes, o worker reinicia ou o webhook e reenviado.

Quando importa

Importa em pagamento, webhook, job assíncrono e qualquer fluxo em que retry faz parte da vida real.

Sem idempotencia, retry pode cobrar duas vezes, mandar email duplicado ou corromper estado.

Erro comum

O erro comum e tratar toda request repetida como se fosse uma intenção nova.

Quando a rede falha e o cliente tenta de novo, o backend duplica o trabalho sem perceber que e a mesma tentativa.

Exemplo curto

Em POST /orders, o cliente manda uma chave de idempotencia.

Se a conexão cai e a mesma request volta, o backend reconhece a chave, entende que aquela intenção já foi processada e devolve o mesmo sucesso sem repetir a operação.

Por que ajuda

Idempotencia deixa retry muito mais seguro em sistema distribuido.

Quando repetir operação não parece aposta perigosa, o tratamento de falha fica muito mais calmo.

Você concluiu este artigo

Continue explorando

Artigos relacionados