Optimistic Concurrency Control
Controle de Concorrência Otimista
Controle de concorrência otimista permite que pessoas trabalhem ao mesmo tempo sem travar primeiro. Antes de salvar, ele verifica a versão e rejeita uma alteração baseada em dados antigos.
Outro exemplo
Dois clínicos abrem a revisão 17 do plano de cuidados. O primeiro salva a revisão 18 com `If-Match: "r17"`. O segundo recebe 412, compara os campos, faz a fusão com cuidado e tenta novamente com `"r18"`; nenhuma atualização é perdida silenciosamente.
Partes principais
- 01Token de versão de leitura
- 02escrita condicional
- 03resposta ao conflito e mesclagem
Use-o quando
Use verificações de versão quando os conflitos são raros, edições são importantes e o produto pode ajudar as pessoas a comparar e recuperar.
Não o use quando
Depois que uma verificação de versão falha, não tente repetir automaticamente edições cuja ordem altera o resultado. Evite este método quando conflitos forem constantes e onerosos.
Nome usado no código
ETag + If-Match / version column + conditional update 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 Controle de Concorrência Otimista (Optimistic Concurrency Control). User context: Dois clínicos abrem a revisão 17 do plano de cuidados. O primeiro salva a revisão 18 com `If-Match: "r17"`. O segundo recebe 412, compara os campos, faz a fusão com cuidado e tenta novamente com `"r18"`; nenhuma atualização é perdida silenciosamente. Technical concept or control: Controle de Concorrência Otimista (Optimistic Concurrency Control). Why it fits: Use verificações de versão quando os conflitos são raros, edições são importantes e o produto pode ajudar as pessoas a comparar e recuperar. Do not use it when: Depois que uma verificação de versão falha, não tente repetir automaticamente edições cuja ordem altera o resultado. Evite este método quando conflitos forem constantes e onerosos. 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): Nenhum padrão oficial único controla todo o termo. Seu significado pode mudar entre equipes, plataformas ou frameworks. 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 Controle de Concorrência Otimista (Optimistic Concurrency Control) is used now. Definition: Controle de concorrência otimista permite que pessoas trabalhem ao mesmo tempo sem travar primeiro. Antes de salvar, ele verifica a versão e rejeita uma alteração baseada em dados antigos. 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.