Idempotentie geeft een logische handeling haar bedoelde effect, ook als bezorging of uitvoering zich herhaalt.

Idempotentie geeft een logische handeling haar bedoelde effect, ook als bezorging of uitvoering zich herhaalt. Het belooft niet dat een bericht slechts eenmaal arriveert. Behandel ontvangst, duurzame opslag, statuswijziging en vervolgwerk als afzonderlijke foutgrenzen.
De juiste identiteit kiezen
Een gebeurtenisreferentie herkent herhaalde bezorging van dezelfde gebeurtenis. Een betaalreferentie verbindt verschillende gebeurtenissen met één zakelijk object. Een idempotentiesleutel voor een uitgaande aanvraag beschermt weer een andere grens volgens providerregels. Klant en bedrag vervangen die identiteiten niet: twee legitieme aankopen kunnen overeenkomen. Definieer ook geldige statusovergangen.
Opslaan voordat ontvangst wordt bevestigd
Controleer de handtekening volgens de providerdocumentatie en bewaar het bericht duurzaam of neem het op in een duurzame wachtrij. Bevestig pas daarna succesvolle overname. Verbind zakelijke wijziging en verwerkingsbewijs atomair of gelijkwaardig. Een transactionele outbox kan extern vervolgwerk na een storing hervatten. Beperk toegang en bewaartermijn van persoonsgegevens in berichten.
Herhaling en herstel beproeven
Bezorg hetzelfde evenement achtereenvolgens en gelijktijdig en stop de worker op iedere duurzame grens. Controleer boekingen, toegang en externe aanroepen naast HTTP-antwoorden. Een laat bericht mag geen verouderde toestand herstellen alleen omdat het laatst aankomt. Bewaak leeftijd en status van onafgemaakt werk. Beheerst opnieuw verwerken moet dezelfde bescherming gebruiken als de normale route en een controleerbaar bedieningsspoor achterlaten.
Een concreet acceptatievoorbeeld
Een worker kan de bestelling opslaan en stoppen vóór het evenement als afgerond is gemarkeerd. Bij herstart krijgt hij dezelfde taak. Controleer eerst de duurzame bescherming van de bestelling en daarna de levering. Een tweede uitvoering mag geen tweede toegang geven. Ontbreekt levering, dan moet een hervatbare taak blijven bestaan. Noteer de resultaten apart met hun referenties. Dit onderscheidt dubbele werking van verloren vervolgwerk. Test vervolgens een tweede worker die hetzelfde werk tegelijk oppakt. De uitkomst moet dezelfde zakelijke garantie behouden, ook wanneer beide processen een succesvolle ontvangst melden of één proces na een conflict opnieuw probeert te verwerken.
- Bijbehorende dienst
- Betalingen reconciliëren: ieder verschil verklaren
- Een fintech-ledger ontwerpen: saldi en controleerbare correcties
Veelgestelde vragen
Is een lijst in het geheugen genoeg?
Nee. Herstarts en meerdere workers vragen gedeeld persistent bewijs.
Beschermt provider-idempotentie onze webhook?
Alleen de provideraanvraag; interne effecten hebben eigen bescherming nodig.
Moeten alle berichten eeuwig bewaard worden?
Nee. Bepaal relevantie, onderzoeksbehoefte en bewaartermijn.
Kan opnieuw verwerken een terugbetaling verdubbelen?
Ja zonder bescherming van de zakelijke handeling; test dit met synthetische gegevens.
Hoe zien we vastgelopen verwerking?
Via duurzame status, ouderdom, pogingen en onafhankelijke reconciliatie.
Maak van uw idee een uitvoerbare scope
Deel het gebruikerspad, de koppelingen en de voorwaarden voor lancering. We kunnen een raming met aannames en uitsluitingen opstellen.
Verder lezen
Betalingen reconciliëren: ieder verschil verklaren
Reconciliatie vergelijkt registraties van dezelfde economische activiteit en verklaart verschillen.
Een fintech-ledger ontwerpen: saldi en controleerbare correcties
Een ledger legt financiële bewegingen vast volgens toetsbare regels.
Betaalintegraties controleren: dubbele en ontbrekende betalingen
Een bevestigingspagina bewijst niet dat een betaling volledig is verwerkt.