Bronnen · 54
Webhooks: omgaan met herhalingen, vertragingen en herstel
Zet een ontvangen melding om in een uniek, traceerbaar bedrijfseffect dat na een storing kan worden hersteld.
Bijgewerkt · 3 min
Wat deze handleiding helpt bereiken
- Authenticatie van meldingen
- Scheid ontvangst van verwerking
- Voorkom dubbele effecten
- Herstel geblokkeerde gebeurtenissen
Snelle controle
- Welke bytes zijn ondertekend?
- Wanneer is een ontvangstbewijs duurzaam?
- Kunnen twee medewerkers samenwerken?
- Garandeert de provider de volgorde?
- Hoe wordt een verloren gebeurtenis gevonden?
Stapsgewijze methode
- 1
Lees het providercontract
Recordtypen, versie, accountcontext, handtekeningen, timing en herhalingsregels. Stripe stelt dat de leveringsvolgorde niet gegarandeerd is en dat duplicaten kunnen voorkomen; pas geen Stripe-specifieke vertraging toe op elke API.
Resultaat: gedateerd providercontract.
- 2
Valideren vóór effecten
Controleer handtekeningen met de bibliotheek en de ruwe body die de provider vereist. Beperk de geaccepteerde groottes en typen. Test ongeldige handtekeningen en onverwachte accountcontext in een geautoriseerde omgeving zonder geheimen te loggen.
Resultaat: weigeringen zonder effecten.
- 3
Persisteren vóór bevestiging
Scheid duurzame ontvangst van trage verwerking. Als de wachtrij de gebeurtenis niet kan accepteren, rapporteer deze dan niet als bewaard. Succes duidt op ontvangst volgens uw contract, niet noodzakelijkerwijs op voltooiing van de bedrijfsactie.
Resultaat: ontvangen, verwerkende, voltooide en geblokkeerde statussen.
- 4
Idempotentie afdwingen
Definieer gebeurtenissleutels en identiteit van bedrijfseffecten. Test gelijktijdige herhalingen in plaats van alleen sequentiële levering. Een voorlopige controle zonder atomaire beperkingen of vergrendeling kan twee workers in staat stellen hetzelfde effect te creëren.
Resultaat: bewijs van de uniciteit van het effect.
- 5
Omgaan met vertraging en wanorde
Ga er niet van uit dat een oude melding de huidige status beschrijft. Raadpleeg de bron wanneer het contract dit toestaat en pas gevalideerde bedrijfstransities toe. Bewaar gebeurtenissen die nog niet kunnen worden geïnterpreteerd.
Resultaat: transities en tests in omgekeerde volgorde.
- 6
Afstemmen en opnieuw afspelen
Stel een foutenwachtrij op met eigenaar, oorzaak, pogingen en afsluiting. Behoud bescherming tegen duplicaten tijdens het opnieuw afspelen. Vergelijk periodiek de provider en de applicatie: succesvol herstel bewijst niet dat er geen gebeurtenis is gemist.
Resultaat: herstelprocedure en discrepantierapport.
Herbruikbaar werkblad
Vul in met uw geautoriseerde observaties. Deze velden zijn een werksjabloon, geen waargenomen resultaten.
| Veld | Informatie om vast te leggen |
|---|---|
| Gebeurtenis | Aanbieder, account, identificatie en versie |
| Ontvangstbewijs | Gevalideerde handtekening en duurzaam tijdstempel |
| Effect | Bedrijfssleutel, status en bewijs van uniciteit |
| Herstel | Oorzaak, poging, eigenaar en afsluiting |
Fictief uitgewerkt voorbeeld
Illustratieve situatie
Fictief voorbeeld: twee werknemers ontvangen dezelfde bevestigingsmelding tijdens het herstelproces.
Beslissing en verwachte bewijs
Een unieke bedrijfseffectbeperking en transactionele status maken één vervulling mogelijk, terwijl beide leveringen traceerbaar blijven.
Onderscheid de mechanismen
| Mechanisme | Doel | Verificatie of beperking |
|---|---|---|
| Handtekening | Valideer de oorsprong volgens het contract | Maakt effecten niet uniek |
| Dubbele vermeldingen verwijderen | Herhaalde meldingen herkennen | Controleer ook gelijktijdigheid en zakelijke effecten |
| Afstemming | Zoek naar weglatingen en verschillen | Benoem de bron en periode |
Managementindicatoren
| Indicator | Wat het meet | Eerste actie |
|---|---|---|
| Wachtrijleeftijd | Vertraging van onvoltooide gebeurtenissen | Inspecteer de oudste |
| Dubbele effecten | Zakelijke acties die per ongeluk herhaald worden | Corrigeer atomiciteit |
| Bron-/applicatieverschillen | Afwezige of afwijkende statussen | Afstemmen met bewijs van afsluiting |
Veelvoorkomende fouten
- Parsen vóór verificatie van ondertekende body
- Bevestiging vóór duurzame ontvangst
- Aannemen van geordende levering
- Test duplicaten alleen sequentieel
Veelgestelde vragen
Betekent HTTP-succes dat de verwerking is voltooid?
Dat hangt af van het contract. Bij asynchrone verwerking zou dit een duurzame ontvangst moeten betekenen, terwijl de bedrijfsstatus afzonderlijk wordt bijgehouden.
Kan er worden uitgegaan van een eenmalige levering?
Ontwerp voor herhalingen en fouten onder het daadwerkelijke contract, met unieke effecten en afstemming.
Moet de volledige inhoud worden bewaard?
Alleen wanneer nodig, met geschikte toegang en bewaring. Minimale sporen moeten diagnose en herstel ondersteunen zonder geheimen te bewaren.
Officiële referenties
Referenties ondersteunen de methode. Pas controles aan uw context aan; ze zijn geen certificering. Originele referentietitels en brondocumenten kunnen in een andere taal zijn.
Bronnen geraadpleegd op .






