Ich bin in der Planungsphase eines .NET-Dienstes, der kontinuierlich eingehende Nachrichten verarbeitet, was verschiedene Transformationen, Datenbankeinfügungen und -aktualisierungen usw. beinhaltet. Als Ganzes ist der Dienst riesig und kompliziert, aber die einzelnen Aufgaben, die er ausführt, sind klein, einfach und wohldefiniert.
Aus diesem Grund und um eine einfache Erweiterung in der Zukunft zu ermöglichen, möchte ich den Dienst in mehrere kleinere Dienste aufteilen, die im Wesentlichen einen Teil der Verarbeitung durchführen, bevor sie an den nächsten Dienst in der Kette weitergegeben werden.
Um dies zu erreichen, benötige ich eine Art zwischengeschaltetes Nachrichtensystem, das Nachrichten von einem Dienst zum anderen weiterleitet. Ich möchte, dass dies so geschieht, dass, wenn ein Glied in der Kette abstürzt oder kurz offline genommen wird, die Nachrichten beginnen, sich in eine Warteschlange einzureihen und verarbeitet werden, sobald das Ziel wieder online ist.
Ich habe für diese Art von Aufgaben immer die Nachrichtenwarteschlange verwendet, bin aber kürzlich auf den SQL Service Broker aufmerksam gemacht worden, der etwas Ähnliches zu tun scheint. Ist SQLSB eine brauchbare Alternative für dieses Szenario und, wenn ja, würde ich irgendwelche Leistungsvorteile sehen, wenn ich das anstelle von Standard Message Queuing verwende?
Danke