Idempotency
Idempotência
Idempotência significa que realizar a mesma operação pretendida novamente tem o mesmo efeito no servidor que fazê-la uma vez. As respostas não precisam ser idênticas.
Outro exemplo
Depois que um pagamento expira, o comprador tenta novamente com a chave de idempotência `8f2…` e o mesmo hash de solicitação normalizado. O servidor retorna a primeira cobrança em vez de cobrar novamente. A mesma chave com um valor diferente é rejeitada, e as chaves expiram conforme uma política escrita.
Partes principais
- 01Identidade da operação
- 02detecção de duplicatas
- 03Efeito estável e resultado armazenado
Use-o quando
Torne as tentativas seguras para redes pouco confiáveis, filas, chamadas de pagamento e sistemas que possam entregar uma mensagem pelo menos uma vez.
Não o use quando
`POST` não é sempre não idempotente. Uma chave de idempotência também não substitui transações, autorização ou verificações de conflito.
Nome usado no código
HTTP method semantics and/or scoped idempotency key with request fingerprint Antes de lançar
Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback.
Outcome: Complete the task with Idempotência (Idempotency). User context: Depois que um pagamento expira, o comprador tenta novamente com a chave de idempotência `8f2…` e o mesmo hash de solicitação normalizado. O servidor retorna a primeira cobrança em vez de cobrar novamente. A mesma chave com um valor diferente é rejeitada, e as chaves expiram conforme uma política escrita. Technical concept or control: Idempotência (Idempotency). Why it fits: Torne as tentativas seguras para redes pouco confiáveis, filas, chamadas de pagamento e sistemas que possam entregar uma mensagem pelo menos uma vez. Do not use it when: `POST` não é sempre não idempotente. Uma chave de idempotência também não substitui transações, autorização ou verificações de conflito. Engineering requirements: Define inputs, outputs, contracts, and rules that must always hold. Set authorization and input checks. Define failures, timeouts, retries, one-time effects, data moves, and compatibility limits. Operations: Add useful signals and logs that hide sensitive data. Set capacity limits and write an operator guide. Test recovery and rollback. Acceptance criteria: Contract and failure-path tests pass. Data and authorization rules still hold during retries and partial failures. Check performance limits, monitoring, recovery, and rollback. Evidence and limits (evidence boundary): O padrão cobre apenas o escopo listado. Ele não escolhe o estilo visual, decisão do produto ou exemplo de Vibulary. Unknowns to confirm: Where the code runs, data stores, traffic shape, consistency needs, and the security boundary. Also confirm the compatibility period, service goals, and rollback limits.
Conferir este pedido
Review how Idempotência (Idempotency) is used now. Definition: Idempotência significa que realizar a mesma operação pretendida novamente tem o mesmo efeito no servidor que fazê-la uma vez. As respostas não precisam ser idênticas. Release checks: Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback. Before changing code, list the evidence, gaps, severity, and the smallest safe fix.