Ressourcen · 54

Webhooks: Behandeln Wiederholungen, Verzögerungen und Wiederherstellung

Verwandeln Sie eine empfangene Benachrichtigung in einen eindeutigen, nachvollziehbaren Geschäftseffekt, der nach einem Fehler wiederhergestellt werden kann.

Aktualisiert · 3 min

Wozu dieser Leitfaden beiträgt

  • Benachrichtigungen authentifizieren
  • Empfang und Bearbeitung trennen
  • Doppelte Effekte verhindern
  • Blockierte Ereignisse wiederherstellen

Kurzcheck

  • Welche Bytes sind signiert?
  • Wann ist der Beleg haltbar?
  • Können zwei Arbeiter zusammenarbeiten?
  • Garantiert der Anbieter die Bestellung?
  • Wie wird ein verlorenes Ereignis gefunden?

Schritt-für-Schritt-Anleitung

  1. 1

    Lesen Sie den Providervertrag

    Datensatztypen, Version, Kontokontext, Signaturen, Timing und Wiederholungsregeln. Stripe gibt an, dass die Lieferbestellung nicht garantiert ist und Duplikate auftreten können; Wenden Sie nicht auf jede API eine Stripe-spezifische Verzögerung an.

    Liefergegenstand: datierter Providervertrag.

  2. 2

    Vor Auswirkungen validieren

    Überprüfen Sie die Signaturen mit der vom Anbieter benötigten Bibliothek und dem Rohkörper. Begrenzen Sie akzeptierte Größen und Typen. Testen Sie ungültige Signaturen und unerwarteten Kontokontext in einer autorisierten Umgebung, ohne Geheimnisse zu protokollieren.

    Lieferbar: Ablehnungen ohne Auswirkungen.

  3. 3

    Vor dem Bestätigen bestehen bleiben

    Trennen Sie den dauerhaften Empfang von der langsamen Verarbeitung. Wenn die Warteschlange das Ereignis nicht annehmen kann, melden Sie es nicht als beibehalten. Erfolg bedeutet den Erhalt Ihres Vertrages, nicht unbedingt den Abschluss der Geschäftsmaßnahme.

    Liefergegenstand: Status „Empfangen“, „Verarbeitung“, „Abgeschlossen“ und „Blockiert“.

  4. 4

    Idempotenz erzwingen

    Ereignisschlüssel und Business-Effect-Identität definieren. Testen Sie gleichzeitige Wiederholungen und nicht nur die sequentielle Zustellung. Eine vorläufige Prüfung ohne atomare Einschränkungen oder Sperren kann es zwei Arbeitern ermöglichen, den gleichen Effekt zu erzielen.

    Liefergegenstand: Nachweis der Einzigartigkeit der Wirkung.

  5. 5

    Behandeln Sie Verzögerungen und Unordnung

    Gehen Sie nicht davon aus, dass eine alte Benachrichtigung den aktuellen Status beschreibt. Konsultieren Sie die Quelle, wenn der Vertrag dies zulässt, und wenden Sie validierte Geschäftsübergänge an. Behalten Sie Ereignisse bei, die noch nicht interpretiert werden können.

    Lieferinhalt: Übergänge und Tests in umgekehrter Reihenfolge.

  6. 6

    Abgleichen und erneut abspielen

    Bereiten Sie eine Fehlerwarteschlange mit Eigentümer, Ursache, Versuchen und Schließung vor. Behalten Sie den Duplikatschutz während der Wiedergabe bei. Vergleichen Sie regelmäßig Anbieter und Anwendung: Eine erfolgreiche Wiederherstellung beweist nicht, dass kein Ereignis verpasst wurde.

    Liefergegenstand: Wiederherstellungsverfahren und Unstimmigkeitsbericht.

Wiederverwendbares Arbeitsblatt

Ergänzen Sie Ihre autorisierten Beobachtungen. Bei diesen Feldern handelt es sich um eine Arbeitsvorlage, nicht um beobachtete Ergebnisse.

FeldZu erfassende Informationen
EreignisProvider, Account, Identifier und Version
EmpfangValidierte Signatur und dauerhafter Zeitstempel
WirkungGeschäftsschlüssel-, Status- und Eindeutigkeitsnachweis
WiederherstellungUrsache, Versuch, Eigentümer und Schließung

Fiktives Arbeitsbeispiel

Beispielhafte Situation

Fiktives Beispiel: Zwei Arbeiter erhalten bei der Bergung die gleiche Bestätigungsmeldung.

Entscheidung und erwartete Beweise

Eine einzigartige Geschäftsauswirkungsbeschränkung und ein Transaktionsstatus ermöglichen eine Erfüllung, während beide Lieferungen nachverfolgbar bleiben.

Unterscheiden Sie die Mechanismen

MechanismusZweckÜberprüfung oder Einschränkung
UnterschriftHerkunft gemäß Vertrag validierenMacht Effekte nicht einzigartig
DeduplizierungWiederholte Benachrichtigungen erkennenÜberprüfen Sie auch Parallelität und geschäftliche Auswirkungen
VersöhnungFinden Sie Auslassungen und UnterschiedeNennen Sie Quelle und Zeitraum

Managementindikatoren

IndikatorWas es misstErste Aktion
WarteschlangenalterVerzögerung nicht abgeschlossener EreignisseUntersuchen Sie das Älteste
Doppelte EffekteGeschäftsaktionen wurden fälschlicherweise wiederholtKorrekte Atomizität
Quell-/AnwendungslückenFehlende oder abweichende ZuständeMit Abschlussnachweisen abgleichen

Häufige Fallstricke

  • Parsing vor der Signed-Body-Verifizierung
  • Bestätigung vor dauerhaftem Empfang
  • Bestellte Lieferung vorausgesetzt
  • Duplikate nur sequentiell testen

Häufig gestellte Fragen

Bedeutet HTTP-Erfolg, dass die Verarbeitung abgeschlossen ist?

Das kommt auf den Vertrag an. Bei der asynchronen Verarbeitung sollte dies einen dauerhaften Empfang bedeuten, während der Geschäftsstatus separat verfolgt wird.

Kann von einer Exact-Once-Lieferung ausgegangen werden?

Design für Wiederholungen und Misserfolge im Rahmen des realen Vertrags, mit einzigartigen Effekten und Überleitung.

Soll der gesamte Körper erhalten bleiben?

Nur bei Bedarf mit geeignetem Zugriff und Aufbewahrung. Minimale Spuren sollen Diagnose und Genesung unterstützen, ohne Geheimnisse zu bewahren.

Offizielle Referenzen

Die Referenzen unterstützen die Methode. Passen Sie die Prüfungen an Ihren Kontext an; sie stellen keine Zertifizierung dar. Originalreferenztitel und Quelldokumente können in einer anderen Sprache verfasst sein.

Referenzen geprüft am .