Sollte ich MSMQ oder SQL Service Broker für Transaktionen verwenden?

Wurde ich gefragt, von meinem team-leader zu untersuchen, MSMQ, als option für die neue version unseres Produktes. Wir verwenden SQL Service Broker in unserer aktuellen version. Ich habe meinen Gerechten Anteil an Experimentieren und Googeln, um herauszufinden, welches Produkt ist besser für meine Bedürfnisse, aber ich dachte, ich würde bitten, die beste Seite die ich kenne für die Programmierung Antworten.

Einige details:

  • Unser Kunde ist .NET 1.1 und 2.0-code; das ist, wo die Nachricht gesendet werden soll.
  • Die Gegner in einer Instanz von SQL Server 2005. Alle Nachrichten, die am Ende als Datenbank-updates oder inserts.
  • Senden wir mehrere updates, die behandelt werden muss als eine Transaktion.
  • Wir haben die perfekte Nachricht Wiederherstellbarkeit; keine Nachrichten verloren gehen können.
  • Wir werden asynchron und in der Lage zu akzeptieren Nachrichten, auch wenn die Ziel-SQL-server ist down.
  • Die Entwicklung unserer eigenen queuing-Lösung ist keine option; wir sind ein kleines team.

Dinge, die ich entdeckt habe bisher:

  • Beide MSMQ und SQL Service Broker den job tun können.
  • Es scheint, dass service broker ist schneller für Transaktions-E-Mails.
  • Service Broker erfordert einen SQL-server laufen irgendwo, in der Erwägung, dass MSMQ Bedürfnisse konfigurierte Windows-Maschine läuft irgendwo.
  • MSMQ scheint besser/schneller/einfacher zu set-up/run-in-Cluster.

Bin ich etwas fehlt? Gibt es einen klaren Sieger hier? Alle Gedanken, Erfahrungen, oder links wären sehr geschätzt. Danke!

EDIT: Wir landeten kleben mit service broker-denn wir haben eine benutzerdefinierte DB Rahmen, die in einige unserer client-code (wir Transaktionen besser). Dass code, erfasst die SQL-Transaktionen, aber nicht . Der client-code auch alle in der version 1.1 .NET, so hätten wir um ein upgrade aller client-code. Vielen Dank für Ihre Hilfe!

InformationsquelleAutor der Frage Ed Schwehm | 2008-10-27

Schreibe einen Kommentar