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. 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. 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. 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. 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. 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. 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.

VeldInformatie om vast te leggen
GebeurtenisAanbieder, account, identificatie en versie
OntvangstbewijsGevalideerde handtekening en duurzaam tijdstempel
EffectBedrijfssleutel, status en bewijs van uniciteit
HerstelOorzaak, 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

MechanismeDoelVerificatie of beperking
HandtekeningValideer de oorsprong volgens het contractMaakt effecten niet uniek
Dubbele vermeldingen verwijderenHerhaalde meldingen herkennenControleer ook gelijktijdigheid en zakelijke effecten
AfstemmingZoek naar weglatingen en verschillenBenoem de bron en periode

Managementindicatoren

IndicatorWat het meetEerste actie
WachtrijleeftijdVertraging van onvoltooide gebeurtenissenInspecteer de oudste
Dubbele effectenZakelijke acties die per ongeluk herhaald wordenCorrigeer atomiciteit
Bron-/applicatieverschillenAfwezige of afwijkende statussenAfstemmen 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 .