Technische Entscheidungen · Senior · Frage 4 von 14

Nach dem Speichern einer Bestellung muss der Dienst ein Event an einen Broker veröffentlichen. Events dürfen nicht verloren gehen, und der Broker kann an keiner Datenbanktransaktion teilnehmen. Was tust du?

Antwort zeigen

Richtige Antwort: Eine transaktionale Outbox, veröffentlicht von einem Relay

Erklärung

Das Event in derselben Transaktion wie die Bestellung zu schreiben heißt, beide existieren oder keines, und ein Relay stellt es später zu. Nach dem Commit zu veröffentlichen passt zu Events, deren Verlust verkraftbar ist, aber ein Absturz zwischen den Schritten verliert das Event. Erst zu veröffentlichen passt zu nichts, was konsistent bleiben muss, denn ein gescheiterter Commit lässt Verbraucher auf eine Bestellung reagieren, die es nicht gibt.

Zum Weiterlesen

Fehler in der Frage

Technische Entscheidungen · Senior · Frage 4

Teste dich selbst

Mach den Test Technische Entscheidungen · Senior: Fragen und Antworten werden gemischt, und am Ende wartet eine Übersicht der Fehler.

Diesen Test machen