MSMQ v Datenbanktabelle

Ein vorhandener Prozess ändert das Statusfeld eines Buchungsdatensatzes in einer Tabelle als Reaktion auf Benutzereingaben.

Ich muss einen anderen Prozess schreiben, der für Datensätze mit einem bestimmten Status asynchron ausgeführt wird. Es liest den Tabellendatensatz, führt einige Vorgänge aus (einschließlich Aufrufe von Webdiensten von Drittanbietern) und aktualisiert das Statusfeld des Datensatzes, um anzuzeigen, dass die Verarbeitung abgeschlossen ist (oder fehlerhaft, mit einer Fehleranzahl).

Diese Operation klingt einer Warteschlange sehr ähnlich. Was sind die Vorteile und Nachteile der Verwendung von MSMQ gegenüber einer SQL-Tabelle in dieser Situation, und warum sollte ich eine vor der anderen auswählen?

Es ist unsere Software, die Datensätze in der Tabelle hinzufügt und aktualisiert.

Es ist eine neue Arbeit (ein Windows-Dienst), die die asynchrone Verarbeitung ausführt. Dies muss "immer auf" sein.

Antworten auf die Frage(22)

Ihre Antwort auf die Frage