IOSOR Wissen

Dual-Write-Fenster-Risiko während des Cutover

Zwei Webhooks für eine Nachricht sind Debit- und DLR-Hazard. Decken Sie das Dual-Write-Fenster, deduplizieren Sie Money-Events und verlassen Sie mit einem Ledger-Owner.

Ein Dual-Write-Fenster bedeutet: dieselbe Outbound-Nachricht kann zwei Webhook-Endpoints treffen — alt und neu — solange der Cutover unfertig ist. Das ist kein Sicherheitsnetz; es ist Debit- und DLR-Hazard. Finance sieht Zwillingszeilen; Ops sieht Zwillings-„delivered“-Uhren; der Käufer sieht ein Ledger, das nicht mehr zum Send passt, den er erinnert.

IOSOR-Cutovers behandeln Dual-Write als getaktete Ausnahme mit Exit-Owner. Bleiben beide Endpoints ohne Idempotenz-Story Live, driften Holds und Rechnungen die ganze Invoice-Woche.

Dual-Write-Fenster benennen, bevor Traffic sich teilt

Schreiben Sie Start, Ende und Exit-Owner, bevor ein zweiter Endpoint Production-Events empfängt. Veröffentlichen Sie das Fenster im Cut-Ticket, damit Developers nicht „leise verlängern“, wenn DLR nervös wirkt. Ein namenloses Fenster wird zum permanenten Fork.

Listen Sie, welche Event-Typen dual-write dürfen (nur DLR oder Send+DLR). Verbotene Paare gehören in den Ticket-Titel, nicht in einen Flur-Chat nach dem ersten Doppeldebit.

Money-Events deduplizieren, während zwei Endpoints Live sind

Mappen Sie jedes Webhook-Payload auf einen Idempotenz-Schlüssel, den Finance zitieren kann. Reject oder Merge doppelter delivered/failed Events, damit die Wallet einen Hold öffnet und einen Debit pro Message-ID schließt. Retries sind erlaubt; Doppelgeld nicht.

Wenn alter und neuer Endpoint über den Final-Status streiten, Message-ID einfrieren und beide Payloads exportieren. Lassen Sie die Invoice-Woche nicht „beide“ als zwei billable Zeilen reconcilen.

Fenster mit hartem Exit-Takt deckeln

Setzen Sie eine maximale Dual-Write-Dauer und einen Kill-Switch, der den alten Endpoint bei Null stoppt. Verlängern nur mit geschriebenem Change und neuem Takt — nie beide URLs im Secret Store „bis zum nächsten Sprint“ lassen.

Koppeln Sie den Takt an eine Second-Endpoint-Handover-Checkliste, damit Ops weiß, welche URL alleiniger Owner wird. Ein weiches „wir schauen hin“ ist kein Exit.

Einen Ledger-Owner nach dem Cut beweisen

Wenn der alte Endpoint stoppt, Hold-versus-Debit für Dual-Write-Stunden und die erste ruhige Stunde danach exportieren. Einen Wallet-Owner pro Message-ID bestätigen. Erst dann Cutover complete im Ticket markieren.

Bleiben Zwillingszeilen, Freeze-Liste vor Pilotvolumen-Erhöhung neu öffnen. Dual-Write-Rest ist Ops-Defekt, keine Pricing-Debatte.

Verwandte Ops-Pfade

Starten Sie mit IOSOR

Benennen Sie Dual-Write-Takt und Owner, verdrahten Sie Idempotenz auf Money-Events und setzen Sie den Kill-Switch auf die alte URL. Fahren Sie einen Korridor durchs Fenster, exportieren Sie Twin-Risk-Zeilen und exitieren Sie zu einem Endpoint vor Invoice-Wochen-Schluss.

IOSOR Fazit

Dual-Write ist getaktetes Hazard, keine Komfortzone: zwei Webhooks für eine Nachricht können DLR und Debit verdoppeln. Fenster deckeln, Money via Idempotenz deduplizieren und einen Ledger-Owner beweisen, bevor Cutover done heißt.

War dieser Leitfaden hilfreich?

Verwandte Leitfäden