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
- Zweiter Webhook-Endpunkt: Übergabe
- Idempotenz, Retries und Geld
- Abrechnungswoche im Wallet: Reservierungen, Abbuchungen und Erstattungen in e…
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
- Live-Traffic auf Prepaid verschieben, ohne Rohre zu nennen
Cutover auf IOSOR-Prepaid ohne die Rohre zu nennen, die Sie verlassen. Ausgabenkontrolle beweisen, Schlüssel rotieren und Käufer-Copy umschreiben vor Live-Volumen.
- Alte Webhooks müssen drainen, bevor Sie Schlüssel schneiden
Drainen Sie In-Flight-DLR am alten Endpoint vor Key-Revoke. Schneiden Sie erst nach Quiet, dann Day-1-Runway und ordered Failover erneut beweisen.