System Design · Senior · Frage 36 von 75
Wie aktualisiert man die Datenbank und veröffentlicht atomar ein Ereignis in einer Queue?
- 1Das Ereignis nach erfolgreicher API-Antwort aus dem Browser des Nutzers senden
- 2Erst das Ereignis senden, dann in die DB schreiben - die Reihenfolge ist egal
- 3Outbox: das Ereignis wird in derselben Transaktion in die DB geschrieben
Antwort zeigen
Richtige Antwort: Outbox: das Ereignis wird in derselben Transaktion in die DB geschrieben
Erklärung
Ohne eine Transaktion über DB und Broker sind Inkonsistenzen möglich: der Schreibvorgang gelang, aber das Ereignis ging verloren (oder umgekehrt). Eine Outbox-Tabelle erfasst das Ereignis atomar mit der Änderung, und ein Relay veröffentlicht es mit Wiederholungen (at-least-once).