Frage

Ich bin ein Anfang Web-Entwickler auf einem ehrgeizigen Webanwendungsprojekts sitzen.

So, nachdem einige der Forschung getan zu haben, fand ich über SQL Service Broker aus. Es scheint, wie etwas, das ich verwenden könnte, aber ich bin nicht sicher. Da das Lernen es jemand erfordert in vielen Zeit zu setzen, wollte ich sicher sein, dass es meine Bedürfnisse passen würde.

Ich brauche ein System zu implementieren, wo Website-Nutzer Text auf der Website einreichen können. Dieser Strom von Nachrichten hat mit mit einem andere auf dem anderen Ende der Stream-Gruppe mit den Nachrichten Umgang von Benutzern in einer FIFO-Weise überflüssig und behandelt werden.

Nun wird eine Nachricht, die, soll gesperrt werden, indem eine dieser letzten Gruppe von Benutzern gelesen werden, so dass niemand sonst es zugleich lesen kann. Der Benutzer kann dann entscheiden, die Nachricht oder nicht zu behandeln. Nur wenn er mit der Nachricht umgehen entscheidet kann es aus der Warteschlange gelöscht werden. Wenn er entscheidet, dass er nicht mit der Nachricht umgehen will, sollte die Nachricht (am Ende der Warteschlange, oder zumindest mit der höchsten Priorität) in der Warteschlange zurückgestellt werden, so dass ein anderer Benutzer sie lesen kann und entscheiden .

Ist das etwas, was ich kann mit SQL Service Broker implementieren sein würde? Bin ich auf dem Holzweg?

Danke!

War es hilfreich?

Lösung

IMO, die beste Verwendung von Service Broker ist in einer lose gekoppelten Weise an unabhängige Anwendung zu verbinden. Was ich damit meine ist, dass auf diese Weise gebunden Systeme durch eine Reihe von gemeinsam vereinbarten Nachrichtentypen kommunizieren können. Dies steht im Gegensatz zu einer Anwendung direkt die andere Datenbank, zum Beispiel zu manipulieren.

Von dem, was Sie gesagt haben, ich es als eine einfache Tabelle implementieren würde, zum Beispiel: Erstellen Sie eine Nachricht Tabelle mit einer Identitäts PK, ein Zuordnungs-Flag und Ihren benutzerdefinierten Spalten. Jedes Mal, wenn ein Bediener will die letzte Nachricht holen, bekommen die niedrigste PK Wert für die Zuordnung = ‚N‘ und aktualisieren Zuweisung an ‚Y‘. Dies in einer einzigen Transaktion. Wenn / wenn der Vorgang die Nachricht zurück entscheidet die Warteschlange stellt nur seinen AllocationFlag auf ‚N‘ und dem Rücken.

Dies ist nur ein Beispiel. Die Datenbank ist in diesem Fall bietet Ihnen Konsistenz, Schwerlastverhalten, etc.

Hinter den Bildschirmen alle Daten, die Sie SSB einreichen werden gespeichert und als Tabellen manipulieren, so gibt es keinen Grund dafür unbedingt schneller zu sein als eine Datenbank-Lösung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top