Optimistic Concurrency Control
Optimistische Nebenläufigkeitskontrolle
Optimistische Nebenläufigkeitskontrolle erlaubt es mehreren Personen, gleichzeitig zu arbeiten, ohne vorher zu sperren. Vor dem Speichern wird die Version überprüft und eine Änderung auf Basis alter Daten abgelehnt.
Ein weiteres Beispiel
Zwei Kliniker öffnen die Überarbeitung 17 des Pflegeplans. Der erste speichert Überarbeitung 18 mit `If-Match: "r17"`. Der zweite erhält 412, vergleicht die Felder, führt eine sorgfältige Zusammenführung durch und versucht es erneut mit `"r18"`; kein Update geht stillschweigend verloren.
Hauptteile
- 01Leseversions-Token
- 02Bedingtes Schreiben
- 03Konfliktreaktion und Zusammenführung
Verwenden Sie es, wenn
Verwenden Sie Versionsprüfungen, wenn Konflikte selten sind, Bearbeitungen wichtig sind und das Produkt den Menschen beim Vergleichen und Wiederherstellen helfen kann.
Nutze es nicht, wenn
Nachdem eine Versionsprüfung fehlschlägt, bearbeiten Sie nicht automatisch Änderungen, deren Reihenfolge das Ergebnis ändert. Vermeiden Sie diese Methode, wenn Konflikte konstant und kostspielig sind.
In Code verwendeter Name
ETag + If-Match / version column + conditional update Vor dem Ausliefern
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 Optimistische Nebenläufigkeitskontrolle (Optimistic Concurrency Control). User context: Zwei Kliniker öffnen die Überarbeitung 17 des Pflegeplans. Der erste speichert Überarbeitung 18 mit `If-Match: "r17"`. Der zweite erhält 412, vergleicht die Felder, führt eine sorgfältige Zusammenführung durch und versucht es erneut mit `"r18"`; kein Update geht stillschweigend verloren. Technical concept or control: Optimistische Nebenläufigkeitskontrolle (Optimistic Concurrency Control). Why it fits: Verwenden Sie Versionsprüfungen, wenn Konflikte selten sind, Bearbeitungen wichtig sind und das Produkt den Menschen beim Vergleichen und Wiederherstellen helfen kann. Do not use it when: Nachdem eine Versionsprüfung fehlschlägt, bearbeiten Sie nicht automatisch Änderungen, deren Reihenfolge das Ergebnis ändert. Vermeiden Sie diese Methode, wenn Konflikte konstant und kostspielig sind. 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): Kein einziger offizieller Standard kontrolliert den gesamten Begriff. Seine Bedeutung kann sich zwischen Teams, Plattformen oder Frameworks ändern. 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.
Diese Anfrage prüfen
Review how Optimistische Nebenläufigkeitskontrolle (Optimistic Concurrency Control) is used now. Definition: Optimistische Nebenläufigkeitskontrolle erlaubt es mehreren Personen, gleichzeitig zu arbeiten, ohne vorher zu sperren. Vor dem Speichern wird die Version überprüft und eine Änderung auf Basis alter Daten abgelehnt. 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.