Transaktionale Message Queuing

Bei einer Transaktion handelt es sich um eine Reihe von Änderungen an einem Datenspeicher (z. B. einer Datenbank oder einem Dateisystem), bei der garantiert wird, dass alle erfolgreich ausgeführt werden oder überhaupt nicht ausgeführt werden. Um eine Transaktion zu implementieren, wird ein Datensatz des Zustands des Datenspeichers vor Beginn der Transaktion beibehalten. Wenn eine der Änderungen fehlschlägt, gibt die Transaktion einen Fehler zurück, und der Anfangszustand wird wiederhergestellt (oder ein Rollback ausgeführt). Transaktionen werden verwendet, um die Datenintegrität aufrechtzuerhalten, und spielen daher eine wichtige Rolle bei der Programmierung von Geschäftssoftware.

Anwendungen können häufig mithilfe einer Geschäftstransaktion oder eines Workflows entwickelt werden, die in mehrere kleinere Transaktionen oder Aktivitäten aufgeteilt sind. Diese Aktivitäten werden zeitlich getrennt und dann über zuverlässige Nachrichtenwarteschlangen verbunden.

  1. Die erste Transaktion umfasst die Datenbank für den Auftragseintrag. Message Queuing verschiebt die Nachricht mithilfe von Transaktionsfunktionen genau einmal aus einer Warteschlange in eine andere. Wenn die Datenbank aktualisiert wird, wird eine Meldung in der Warteschlange angezeigt. Wenn die Nachricht die Warteschlange nicht erreicht, wird sie abgebrochen, und für die Datenbank wird ein Rollback ausgeführt.
  2. Zu einem späteren Zeitpunkt ermittelt Message Queuing, dass der Server verfügbar ist. Es gibt keine Anwendungsumfrage, ob der Server vorhanden ist. Dies ist die zweite Transaktion.
  3. Die dritte Transaktion umfasst eine Abfrage der Versanddatenbank und die Aktualisierung der Versanddatenbank. Wenn der Server in der Mitte dieser Transaktion ausfällt, wird für die Änderung ein Rollback ausgeführt, und die Nachricht wird an die Eingabewarteschlange zurückgegeben. Dadurch wird sichergestellt, dass die Integrität der Daten und Datenbanken während der Transaktionen erhalten bleibt.