Reliable Services

Warteschlangen und zuverlässige Sitzungen sind die WCF-Funktionen, die zuverlässiges Messaging implementieren. In diesem Thema werden die zuverlässigen Messagingfunktionen von WCF erläutert.

Zuverlässiges Messaging ist die zuverlässige Übertragung von Nachrichten von einer zuverlässigen Messagingquelle (bezeichnet als Quelle) an ein zuverlässiges Messagingziel (bezeichnet als Ziel).

Zuverlässiges Messaging führt die folgenden Funktionen aus:

  • Überträgt Zusicherungen für Nachrichten, die unabhängig von der Nachrichtenübertragung oder den Transportfehlern von einer Quelle an ein Ziel gesendet werden.

  • Trennt die Quelle und das Ziel voneinander. So ist eine unabhängige Wiederherstellung nach einem Fehler von Quelle und Ziel sowie eine zuverlässige Übertragung und Zustellung von Nachrichten möglich, auch wenn die Quelle oder das Ziel nicht verfügbar ist.

Der Preis eines zuverlässigen Messagings besteht häufig in einer hohen Latenz. Latenz ist die Zeit, die eine Nachricht von der Quelle bis zum Ziel benötigt. WCF stellt deshalb die folgenden zuverlässigen Messagingarten bereit:

  • Zuverlässige Sitzungen: Diese Messagingart bietet eine zuverlässige Übertragung ohne hohe Latenz.

  • Warteschlangen in WCF: Diese Messagingart bietet sowohl eine zuverlässige Übertragung als auch eine Trennung zwischen Quelle und Ziel.

Zuverlässige Sitzungen

Zuverlässige Sitzungen bieten eine zuverlässige End-to-End-Übertragung von Nachrichten zwischen einer Quelle und einem Ziel. Dazu wird das zuverlässige WS-Messaging-Protokoll unabhängig von der Anzahl oder dem Typ der Vermittler verwendet, durch die die Messagingendpunkte (Quelle und Ziel) getrennt werden. Dies umfasst alle Transportvermittler, die kein SOAP (z. B. HTTP-Proxys) verwenden, oder Vermittler, die SOAP (z. B. SOAP-basierte Router oder Brücken) verwenden, und die für die Übertragung von Nachrichten zwischen den Endpunkten erforderlich sind. Zuverlässige Sitzungen verwenden ein Übertragungsfenster im Arbeitsspeicher, um SOAP-Fehler auf Nachrichtenebene zu maskieren und Verbindungen im Falle von Transportfehlern neu herzustellen.

Zuverlässige Sitzungen bieten zuverlässige Nachrichtenübertragungen mit niedriger Latenz. Sie stellen SOAP-Nachrichten über Proxys oder Vermittler bereit, vergleichbar mit der TCP-Bereitstellung für Pakete über IP-Brücken. Weitere Informationen zu zuverlässigen Sitzungen finden Sie unter Zuverlässige Sitzungen.

Warteschlangen

Warteschlangen in WCF bieten zuverlässige Übertragungen von Nachrichten und eine Trennung zwischen Quellen und Zielen mit dem Nachteil hoher Latenz. Die Warteschlangenkommunikation in WCF baut auf Message Queuing (MSMQ) auf.

MSMQ steht als optionale Windows-Komponente zur Verfügung. Der MSMQ-Dienst wird als Windows-Dienst ausgeführt. Er erfasst Nachrichten, die in einer Übertragungswarteschlange der Quelle übertragen und einer Zielwarteschlange zugestellt werden. Die Zielwarteschlange akzeptiert Nachrichten im Auftrag des Ziels für eine spätere Zustellung, wenn das Ziel Nachrichten anfordert. Die MSMQ-Manager implementieren ein zuverlässiges Nachrichtenübertragungsprotokoll, damit Nachrichten bei der Übertragung nicht verloren gehen. Das Protokoll kann entweder systemeigen oder SOAP-basiert sein, zum Beispiel das SOAP Reliable Messaging Protocol (SRMP).

Die Trennung, gekoppelt mit zuverlässigen Nachrichtenübertragungen zwischen Warteschlangen, ermöglicht Anwendungen, die lose miteinander verbunden sind, eine zuverlässige Kommunikation. Im Gegensatz zu zuverlässigen Sitzungen müssen die Quelle und das Ziel nicht zum gleichen Zeitpunkt ausgeführt werden. So werden implizit Szenarien möglich, bei denen Warteschlangen als Lastausgleichsmechanismus verwendet werden, wenn die Geschwindigkeit der Nachrichtenerzeugung und die Geschwindigkeit des Nachrichtenkonsums nicht übereinstimmen. Weitere Informationen zu Warteschlangen finden Sie unter Warteschlangen in WCF.

Siehe auch