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
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
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
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
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
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
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.
| Feld | Zu erfassende Informationen |
|---|---|
| Ereignis | Provider, Account, Identifier und Version |
| Empfang | Validierte Signatur und dauerhafter Zeitstempel |
| Wirkung | Geschäftsschlüssel-, Status- und Eindeutigkeitsnachweis |
| Wiederherstellung | Ursache, 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
| Mechanismus | Zweck | Überprüfung oder Einschränkung |
|---|---|---|
| Unterschrift | Herkunft gemäß Vertrag validieren | Macht Effekte nicht einzigartig |
| Deduplizierung | Wiederholte Benachrichtigungen erkennen | Überprüfen Sie auch Parallelität und geschäftliche Auswirkungen |
| Versöhnung | Finden Sie Auslassungen und Unterschiede | Nennen Sie Quelle und Zeitraum |
Managementindikatoren
| Indikator | Was es misst | Erste Aktion |
|---|---|---|
| Warteschlangenalter | Verzögerung nicht abgeschlossener Ereignisse | Untersuchen Sie das Älteste |
| Doppelte Effekte | Geschäftsaktionen wurden fälschlicherweise wiederholt | Korrekte Atomizität |
| Quell-/Anwendungslücken | Fehlende oder abweichende Zustände | Mit 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 .






