Architekturübersicht

Dieser Abschnitt bietet einen Überblick über die Architektur von Service Bus for Windows Server (einschließlich Plattformstapel, Ausführungsprozesssystem, Farmlösungen, horizontale Skalierung und hohe Verfügbarkeit).

Service Bus for Windows Server im Überblick

Service Bus for Windows Server ist eine Sammlung installierbarer Komponenten für Windows, die Service Bus-Messagingfunktionen (ähnlich den Funktionen in Service Bus) zur Verfügung stellt. Service Bus for Windows Server ermöglicht das Erstellen, Testen und Ausführen lose verbundener, nachrichtengesteuerter Anwendungen in selbstverwalteten Umgebungen und auf Entwicklercomputern. Service Bus-Warteschlangen bieten mithilfe einer Auswahl von Protokollen und APIs zuverlässige Nachrichtenspeicherung und zuverlässigen Nachrichtenabruf. Die Service Bus-Themen basieren auf grundlegenden Erläuterungen zu Warteschlangen, bieten jedoch weiterführende Informationen zum Veröffentlichen/Abonnieren von Funktionen, mit deren Hilfe mehrere gleichzeitige Abonnenten unabhängig voneinander gefilterte oder ungefilterte Sichten des veröffentlichten Nachrichtendatenstroms abrufen können.

Service Bus for Windows Server-Plattformstapel

Service Bus for Windows Server baut auf Microsoft .NET Framework 4,0 PU3, Windows Server 2008 R2, SQL Server 2008 R2, SQL-Datenbank sowie Windows PowerShell 3.0 auf. Alle diese Plattformen müssen unter einem 64-Bit-Betriebssystem ausgeführt werden. Die Speicherschicht für das System (SQL) kann sich auf einem dedizierten Remoteserver, auf einem der Serverknoten oder in Windows Azure SQL-Datenbank befinden. Die von diesem Stapel verwendeten Serverknoten können lokal oder unter Windows Azure IAAS gehostet werden.

Die folgende Abbildung zeigt den Plattformstapel für Service Bus for Windows Server.

Serverarchitektur

Prozess- und Ausführungsmodell

Die folgende Abbildung zeigt das logische Modell zur Funktionsweise des Servers für Service Bus for Windows Server. Jeder Service Bus for Windows Server-Server verwendet drei Schlüsselprozesse: das Service Bus-Gateway, den Service Bus-Nachrichtenbroker und Windows Fabric. Alle Prozesses im Server werden als Windows NT-Dienste gehostet.

In einer "Farm" mit hoher Verfügbarkeit können Sie eine Verbindung mit einer Serversammlung herstellen.

Serverarchitektur

Farminterne Kommunikationsmuster

Da die Service Bus for Windows Server-Serverfarm "hohe Verfügbarkeit" aufweist, findet Kommunikation zwischen Prozessen statt, die lokale und Remotecomputer umfassen.

  • Der Service Bus-Gatewayprozess ist ein statusloser Dienst. Er kann mit dem Nachrichtenbroker auf lokalen oder Remotecomputern in der Farm kommunizieren.

  • Der Service Bus-Nachrichtenbrokerprozess auf jedem Computer registriert sich beim Windows Fabric-Dienst (auf dem gleichen Computer). Diese Registrierung zeigt die Verfügbarkeit zum Hosten von Windows Fabric-Diensten an.

  • Die Windows Fabric-Dienste auf jedem Computer kommunizieren miteinander, um einen "Ring hoher Verfügbarkeit" bereitzustellen.

Service Bus-Gateway

Alle eingehenden Anforderungen von Clients werden zuerst vom Service Bus-Gateway empfangen und verarbeitet. Die Protokollheads verarbeiten die Anforderungen und führen die erforderliche Authentifizierung, Autorisierung und Adressauflösung aus. Die Anforderung wird dann an den geeigneten Nachrichtenbroker weitergeleitet. Unter bestimmten Umständen kommuniziert der Client dann direkt für nachfolgende Anforderungen mit dem Nachrichtenbroker. Die folgende Abbildung zeigt den Kommunikationsfluss, in den das Service Bus-Gateway eingebunden ist.

Serverarchitektur

Clients können Net.TCP oder REST über HTTP als Protokoll für die Kommunikation mit dem Service Bus for Windows Server-Server verwenden.

Net.TCP-Interaktion

Wenn Anforderungen eines Net.TCP-Clients am Gateway empfangen werden, wird der Host (Nachrichtencontainer) für die Messagingentität identifiziert, z. B. eine Warteschlange, ein Thema oder ein Abonnement. Der Dienst leitet die Anforderungen dann an den entsprechenden Service Bus-Nachrichtenbroker (lokal oder remote) weiter, in dem der Nachrichtencontainer ausgeführt wird.

Der Messagingweiterleitungsmodus wird nur für Net.TCP-Anforderungen unterstützt. In diesem Modus kann der Client nach der Authentifizierung und Autorisierung das Gateway auffordern, mit der Adresse des Service Bus-Nachrichtenbrokers zu antworten. Der Client kann dann eine direkte Verbindung mit dem Service Bus-Nachrichtenbroker für nachfolgende Anforderungen herstellen. Diese Funktion verringert den Mehraufwand für das Weiterleiten aller Anforderungen durch das Gateway für jede Nachricht, die über die Verbindung gesendet wird.

REST-Interaktion:

Wenn ein Client REST über HTTP als Protokoll anfordert, identifiziert der Gateway NT-Dienst den Host (Nachrichtencontainer) für die Messagingentität, z. B. eine Warteschlange, ein Thema oder ein Abonnement. Der Dienst leitet die Anforderungen dann an den entsprechenden Service Bus-Nachrichtenbroker (lokal oder remote) weiter, in dem der Nachrichtencontainer ausgeführt wird. Das REST-Interaktionsmuster unterstützt die Messagingumleitungsfunktion nicht.

Service Bus-Nachrichtenbroker

Der Nachrichtenbroker ist ein NT-Dienst, der den Protokollhead und mindestens einen Nachrichtencontainer hostet. Der Dienst registriert sich bei Windows Fabric und fungiert als Host für den Nachrichtencontainerdienst.

Die folgende Abbildung zeigt eine logische Darstellung des Nachrichtenbroker NT-Diensts von Service Bus.

Serverarchitektur

Der Lebenszyklus des NT-Diensts ist die Basis für Failovererkennung und hohe Verfügbarkeit.

Nachrichtencontainer

Sie können den Nachrichtencontainer als eine logische Sammlung von Laufzeitlogik (Rechenlogik) betrachten, die durch einen persistenten Speicher (SQL-Datenbank) gesichert wird. Im Fall eines Failovervorgangs oder beim Lastenausgleich ist der Nachrichtencontainer ein modularer Dienst, der Verschiebevorgänge ausführt. Jeder Nachrichtencontainer wird durch einen Speicher (SQL-Datenbank) gesichert und hostet eine Sammlung von Warteschlangen, Themen und Abonnements, die von einem einfachen Roundrobin-Kapazitätsverwaltungsalgorithmus bestimmt werden. Entitäten wie Warteschlangen, Themen und Abonnements, die in einem Container gespeichert sind, können nicht verschoben werden und verbleiben im Container und seiner zugehörigen Datenbank. Alle Statusangaben, die sich auf den Nachrichtencontainer beziehen, werden dauerhaft in der Datenbank gespeichert.

Windows Fabric

Dieser Prozess enthält die Kernlogik, die für hohe Verfügbarkeit, Farm- und Clusterbildung sowie Lastenausgleich auf den Computern in der Farm erforderlich ist. Der Nachrichtenbrokerdienst auf jedem Computer registriert sich beim Windows Fabric-Prozess auf den entsprechenden Computern. Windows Fabric ermittelt die Anzahl der registrierten Instanzen des Nachrichtencontainerdiensts und speichert diese basierend auf einem einfachen Lastenausgleichsalgorithmus auf verschiedenen Computern in der Farm.

Hohe Verfügbarkeit

Service Bus for Windows Server unterstützt hohe Verfügbarkeit. Für hohe Verfügbarkeit sind zwei Aspekte zu berücksichtigen:

  • Serverschicht

  • Speicherschicht

Serverschicht

Service Bus for Windows Server ist ein Server, der hohe Verfügbarkeit bereitstellt. Der Server benötigt Windows Fabric, um hohe Verfügbarkeit zu erzielen. Damit hohe Verfügbarkeit bereitgestellt werden kann, erfordert Service Bus for Windows Server drei Computer. Alle Topologien, die weniger als drei Computer aufweisen, können hohe Verfügbarkeit nicht unterstützen.

Die folgende Abbildung zeigt den gleich bleibenden Status einer Farm mit drei Computern, auf denen drei Nachrichtencontainer vorhanden sind.

Serverarchitektur

Wenn ein Nachrichtenbroker NT-Dienst abstürzt oder wiederverwendet wird (oder im Fall einer vollständigen Knotenwiederverwendung bzw. eines Herunterfahrens), werden die zugehörigen Nachrichtencontainer, die vor dem Absturz in dieser Brokerinstanz gespeichert wurden, automatisch auf die anderen Computer in der Farm verschoben. Die Nachrichtencontainer bedienen im Fall eines Failovers nach einer kleinen Unterbrechung auch weiterhin Anforderungen.

Serverarchitektur

Wenn der Server mehrere Container besitzt, ist Lastenausgleich ein weiterer Aspekt der hohen Verfügbarkeit. Wenn der Farm neue Computer hinzugefügt werden, wird die Rechenkapazität optimiert, indem die Liste der Container in ausgewogener Form neu erstellt wird, die einem bestimmten Nachrichtenbroker NT-Dienst zugeordnet sind. Der Lastenausgleichsalgorithmus wird auch ausgelöst, wenn Serveradministratoren neue Nachrichtencontainer erstellen oder vorhandene Nachrichtencontainer entfernen.

Service Bus for Windows Server automatisiert das Hinzufügen neuer Computer zur Farm. Außerdem wird die Farmneukonfiguration für die Unterstützung hoher Verfügbarkeit automatisiert. Damit diese Automatisierung stattfindet, aktiviert der Server automatisch Remotedrucker- und -dateifreigabe.

Speicherschicht

Service Bus for Windows Server stellt keine systemeigene Unterstützung für hohe Verfügbarkeit in der Speicherschicht zur Verfügung. Sie können Ihre eigene Lösung verwenden, z. B. SQL-Spiegelung.

Builddatum:

2013-07-25