idempotent
termoprogramaçãodesenvolvimento web
Uma operação que tem o mesmo efeito quer você a execute uma vez ou muitas.
A idempotência importa onde há novas tentativas: uma requisição de pagamento duplicada não pode cobrar duas vezes, uma implantação repetida não pode corromper o estado. Projetar operações para serem idempotentes é o que torna sistemas distribuídos seguros de repetir.
Uma operação idempotente produz o mesmo resultado aplicada uma ou muitas vezes, e é isso que torna seguro repetir. No HTTP, GET, PUT e DELETE são especificados como idempotentes e POST não é, e é por isso que um navegador avisa antes de reenviar um formulário e que uma biblioteca cliente repete um e não o outro.
A propriedade importa mais onde a entrega é incerta. Um tempo esgotado de rede não diz se a requisição chegou, então um cliente que não pode repetir com segurança precisa escolher entre duplicar uma ação e abandoná-la. A construção usual é uma chave de idempotência fornecida por quem chama, que permite ao servidor reconhecer uma repetição e devolver o resultado original em vez de executar o trabalho duas vezes, e é a resposta padrão para APIs de pagamento e provisionamento.
Também conhecido como: idempotency, idempotence