#dusk $DUSK @Dusk
Neulich habe ich Film-Tickets gekauft, als der Bezahlbildschirm eingefroren ist, sodass ich fast nochmal geklickt habe. Zum Glück ist die Bestätigungs-E-Mail zuerst angekommen. Ein Kauf, und ich hätte beinahe doppelt bezahlt.
Dabei habe ich darüber nachgedacht, wie Dusk Moonlight-Einzahlungen verarbeitet. Dusk verwendet die Transaktions-ID als Idempotenzschlüssel, sodass ein Scanner nach einem Fehlschlag Daten erneut einlesen kann, ohne dieselbe Transaktion zweimal gutzuschreiben. Was meine Aufmerksamkeit geweckt hat, war die Warnung: Verwende das Memo dafür nicht.
Zunächst dachte ich, es ginge einfach darum, doppelte Gutschriften zu verhindern. Aber ein Memo beschreibt eine Transaktion; die Transaktions-ID identifiziert die Transaktion selbst. Wenn ein System abstürzt und von vorn beginnt, macht diese Unterscheidung klar, ob es gerade etwas Neues sieht oder ob es die Vergangenheit nur erneut sieht.
Da wurde die Idempotenz für mich noch interessanter. Ein Finanzsystem muss nicht nur verarbeiten, was korrekt passiert ist; es muss auch erkennen, was bereits passiert ist. Wenn ein Fehler dazu zwingt, erneut in die Vergangenheit zu schauen: Wie stellt man sicher, dass die Vergangenheit nicht doppelt gezählt wird?
$PEPE $MUBARAK
Neulich habe ich Film-Tickets gekauft, als der Bezahlbildschirm eingefroren ist, sodass ich fast nochmal geklickt habe. Zum Glück ist die Bestätigungs-E-Mail zuerst angekommen. Ein Kauf, und ich hätte beinahe doppelt bezahlt.
Dabei habe ich darüber nachgedacht, wie Dusk Moonlight-Einzahlungen verarbeitet. Dusk verwendet die Transaktions-ID als Idempotenzschlüssel, sodass ein Scanner nach einem Fehlschlag Daten erneut einlesen kann, ohne dieselbe Transaktion zweimal gutzuschreiben. Was meine Aufmerksamkeit geweckt hat, war die Warnung: Verwende das Memo dafür nicht.
Zunächst dachte ich, es ginge einfach darum, doppelte Gutschriften zu verhindern. Aber ein Memo beschreibt eine Transaktion; die Transaktions-ID identifiziert die Transaktion selbst. Wenn ein System abstürzt und von vorn beginnt, macht diese Unterscheidung klar, ob es gerade etwas Neues sieht oder ob es die Vergangenheit nur erneut sieht.
Da wurde die Idempotenz für mich noch interessanter. Ein Finanzsystem muss nicht nur verarbeiten, was korrekt passiert ist; es muss auch erkennen, was bereits passiert ist. Wenn ein Fehler dazu zwingt, erneut in die Vergangenheit zu schauen: Wie stellt man sicher, dass die Vergangenheit nicht doppelt gezählt wird?
$PEPE $MUBARAK