Freigeben über


Ausskalierte empfangende Hosts

Enthält ein Host ein empfangendes Element wie einen Empfangsspeicherort oder eine Empfangspipeline, dient er als Sicherheitsgrenze, und die Decodierung sowie Entschlüsselung von Nachrichten erfolgt in einer Pipeline innerhalb des Hosts. Damit die empfangenden Hosts hoch verfügbar sind, sind mindestens zwei BizTalk Server-Computer erforderlich, auf denen Instanzen der einzelnen empfangenden Hosts ausgeführt werden. Durch horizontales Hochskalieren der empfangenden Hosts können Sie die Verfügbarkeit für BizTalk Server Bereitstellungen garantieren, die messagingintensiv sind. Diese Bereitstellungen verarbeiten zwar möglicherweise nur selten Orchestrierungen, können jedoch zahlreiche Nachrichten verschiedener Typen mit hoher Geschwindigkeit und Zuverlässigkeit weiterleiten.

Sie können die Sicherheit und Skalierbarkeit in Ihrer Umgebung erhöhen, indem Sie den empfangenden Host von den Hosts trennen, die Orchestrierungen verarbeiten und Nachrichten senden, da Sie jeden Host unabhängig von anderen Hosts sichern und skalieren können. Sie können zum Beispiel dem empfangenden Host zwei Computer (Hostinstanzen) hinzufügen, ohne den verarbeitenden oder sendenden Hosts Computer hinzuzufügen.

Mehrere Hosts zum Empfangen von Nachrichten

Die folgende Abbildung zeigt eine BizTalk Server Bereitstellung, die Hochverfügbarkeit für den empfangenden Host bereitstellt, indem zwei Computer mit Instanzen des empfangenden Hosts ausgeführt werden. Beachten Sie, dass die verarbeitenden und sendenden Hosts in dieser Abbildung nicht hoch verfügbar sind.

Mehrere Hosts zum Empfangen von Nachrichten

Bei umfangreichen Bereitstellungen, Szenarien mit mehreren Handelspartnern sowie beim Einsatz verschiedener Protokolle können Sie die Empfangsfunktion auf mehrere empfangende Hosts verteilen. Beispielsweise können Sie einen Host für das Empfangen von Nachrichten für jeden Adapter erstellen oder verschiedene Hosts für das Empfangen von Nachrichten von verschiedenen Partnern. Beim Erstellen von mehreren empfangenden Hosts können Sie Sicherheitsbegrenzungen erstellen und die Verwaltbarkeit sowie Skalierbarkeit Ihrer Umgebung vereinfachen. Die Umgebung wird dadurch jedoch nicht hoch verfügbar.

Um Ihre Umgebung hoch verfügbar zu machen, müssen Sie mindestens zwei Hostinstanzen für jeden von Ihnen erstellten empfangenden Host erstellen. Sie können beispielsweise drei verschiedene empfangende Hosts (A, B und C) für das Empfangen von Nachrichten aus drei verschiedenen Unternehmen erstellen. Um jeden dieser Hosts hoch verfügbar zu machen, erstellen Sie Hostinstanzen jedes Hosts auf mindestens zwei Computern. Beachten Sie, dass sich Instanzen jedes Hosts auf einem Computer befinden können, ohne dass dadurch die Sicherheitsbegrenzung, Verwaltbarkeit oder Skalierbarkeit verloren geht.

In der folgenden Abbildung wird eine hoch verfügbare BizTalk Server-Umgebung mit drei Computern gezeigt, in der die Hosts für den Empfang von Nachrichten aus verschiedenen Unternehmen zuständig sind.

Empfangsinstanzen

Um Hochverfügbarkeit in dieser Konfiguration zu gewährleisten, führt jeder Computer drei Hostinstanzen aus: eine instance für jedes der drei Unternehmen. Die Hostinstanzen für die einzelnen Unternehmen enthalten die Empfangsspeicherorte und Pipelines für die Kommunikation mit dem jeweiligen Unternehmen. Wenn Sie die erforderlichen Schritte zum Ausskalieren vor den Empfangsadaptern durchgeführt haben (z. B. wenn Sie Netzwerklastenausgleich für HTTP konfigurieren), wird die Nachrichtenlast im typischen Betrieb auf die drei Hostinstanzen jedes Hosts verteilt. Fällt eine Hostinstanz auf einem Computer aus, gewährleisten die auf den anderen beiden Computern ausgeführten Hostinstanzen Redundanz und erhalten die Verfügbarkeit der Dienste aufrecht.

Skalieren der BizTalk Server-Empfangsadapter

Das Skalieren und die Bereitstellung von Hochverfügbarkeit für die empfangenden Hosts ist nicht nur von den Hostinstanzen, sondern darüber hinaus von den speziellen Adaptern abhängig, die Sie in Ihrer Bereitstellung implementieren. Jeder Adapter verfügt über protokollspezifische Eigenschaften, durch die sich Planung und Bereitstellung in den einzelnen Fällen unterscheiden. Mit BizTalk Server können Sie jedoch die gleiche Hochverfügbarkeitslösung für alle Adapter anwenden, hauptsächlich über zusätzliche Computer und Hostinstanzen.

Abhängig vom verwendeten spezifischen Protokoll erfordern einige Adapter einen zusätzlichen Mechanismus für die Verteilung eingehender Nachrichten auf mehrere Hostcomputer, um Hochverfügbarkeit zu gewährleisten. Beispielsweise erfordern BizTalk Server Lösungen, die den HTTP- oder SOAP-Adapter (auch als Webdienstadapter bezeichnet) verwenden, einen Lastenausgleich wie netzwerklastenausgleich (Network Load Balancing, NLB), um die empfangende Workload zu verteilen. In der folgenden Tabelle sind die Hochverfügbarkeitsrichtlinien für die gängigsten Adapter in BizTalk Server zusammengefasst.

Adapter Hochverfügbarkeitsrichtlinien
HTTP Fügen Sie dem empfangenden Host mehrere Computer hinzu und konfigurieren Sie NLB, um eingehende Nachrichten auf mehrere Hostcomputer zu verteilen.
SOAP Fügen Sie dem empfangenden Host mehrere Computer hinzu und konfigurieren Sie NLB, um eingehende Nachrichten auf mehrere Hostcomputer zu verteilen.
Datei Fügen Sie dem empfangenden Host mehrere Computer hinzu, wobei der Empfangsspeicherort auf jedem Hostcomputer auf denselben Dateiordner oder UNC-Pfad (Universal Naming Convention) verweist. Für eine umfassend hoch verfügbare Lösung müssen Sie sicherstellen, dass der Dateispeicherort, auf den der UNC-Pfad verweist, hoch verfügbar (oder zumindest zuverlässig) ist.
FTP Konfigurieren Sie den FTP-Empfangsadapter für die Ausführung in einem geclusterten BizTalk-Host. Weitere Informationen finden Sie unter Überlegungen zum Ausführen von Adapterhandlern in einem gruppierten Host.
POP3 Konfigurieren Sie den POP3-Empfangsadapter für die Ausführung in einem geclusterten BizTalk-Host. Weitere Informationen finden Sie unter Überlegungen zum Ausführen von Adapterhandlern in einem gruppierten Host.
MSMQ Konfigurieren Sie den MSMQ-Empfangsadapter für die Ausführung in einem BizTalk-Host mit Windows-Clustern. Weitere Informationen finden Sie unter Überlegungen zum Ausführen von Adapterhandlern in einem gruppierten Host. Wenn die MSMQ-Empfangsspeicherorte Warteschlangen auf einem MSMQ-Remoteserver verwenden, müssen Sie den BizTalk-Host nicht gruppieren. Führen Sie in diesem Szenario den MSMQ-Empfangshost auf mehreren BizTalk-Computern in der Gruppe aus.
Mqseries Fügen Sie dem empfangenden Host für diesen Adapter mehrere Computer hinzu, verwenden Sie gruppierte Warteschlangen-Manager in MQSeries für Windows, und erstellen Sie den MQSeries Server für Windows im Cluster.
Windows SharePoint Services Fügen Sie dem empfangenden Host mehrere Computer hinzu und konfigurieren Sie NLB, um eingehende Nachrichten auf mehrere Hostcomputer zu verteilen.
– WCF-NetTcp
– WCF-Custom
Fügen Sie dem empfangenden Host mehrere Computer hinzu, und konfigurieren Sie NLB, um eingehende Nachrichten auf diese Hostcomputer zu verteilen.

- oder -

Clustern Sie den Host, der vom Empfangshandler des Adapters verwendet wird.
– WCF-NetNamedPipe
– WCF-BasicHttp
– WCF-WSHttp
– WCF-CustomIsolated
Fügen Sie dem empfangenden Host mehrere Computer hinzu, und konfigurieren Sie NLB, um eingehende Nachrichten auf diese Hostcomputer zu verteilen.
WCF-NetMsmq Clustern Sie den Host, der vom Empfangshandler des Adapters verwendet wird.

HTTP-Adaptern

Der HTTP-Empfangsadapter in BizTalk Server ist eine ISAPI-Erweiterung (Internet Server API) (BTSHTTPReceive.dll), die als Host instance auf jedem Empfangshostcomputer ausgeführt wird. Wenn ein Partner per HTTP-Protokoll eine Nachricht an BizTalk Server sendet, geht die Nachricht meist an einer bestimmten URL auf einem BizTalk Server-Computer mit Internet Information Services (IIS) ein. Sie erstellen in BizTalk Server eine Hostinstanz mit einem Empfangsspeicherort, die diese URL abonniert. Wenn an der URL Nachrichten eingehen, ruft BizTalk Server diese ab und speichert sie persistent in der MessageBox-Datenbank.

BizTalk Server bietet Hochverfügbarkeit für den HTTP-Empfangsadapter, indem Sie mehrere Hostinstanzen desselben Empfangshosts erstellen können. Wenn Sie zur Verteilung eingehender Nachrichten über mehrere empfangende Hosts NLB verwenden, abonnieren diese Hostinstanzen eine bestimmte URL, die eine freigegebene Cluster-IP-Adresse sein kann. Alle diese Hosts bedienen die virtuelle IP-Adresse des Clusters, sodass bei Ausfall eines Clustermitglieds die anderen diese IP-Adresse weiterhin bedienen können.

SOAP-Adapter (Adapter für Webdienste)

Im Gegensatz zum HTTP-Empfangsadapter verwendet der Empfangsadapter für Webdienste keine ISAPI-Erweiterung. Er empfängt eingehende Nachrichten über eine URL, die Sie mithilfe des Assistenten für BizTalk-Webdienstpublishing festlegen. Dieser Assistent exportiert einen Webdienst und erstellt ein virtuelles Verzeichnis, das als Empfangsspeicherort fungiert.

Um Hochverfügbarkeit für den Adapter für Webdienste zu gewährleisten, fügen Sie dem empfangenden Host mehrere Computer hinzu und verwenden NLB zur Verteilung eingehender Nachrichten. Wenn ein Client über den Adapter für Webdienste eine Nachricht an BizTalk Server sendet, wird die Nachricht per Lastenausgleich an einen der empfangenden Hosts weitergegeben, und die entsprechende auf dem Host ausgeführte Hostinstanz speichert die Nachricht persistent in der MessageBox-Datenbank.

Dateiadapter

Der Dateiempfangsadapter ruft Nachrichten aus einem Dateiordner oder UNC-Pfad ab. Dieser Adapter wird meist innerhalb von Unternehmen und nicht in B2B-Szenarien (Business-to-Business) verwendet, da beide Parteien Berechtigungen für den Pfad benötigen und Unternehmen Dateisysteme normalerweise nicht freigeben. Sie können den Dateiempfangshandler für das Pfadabonnement konfigurieren, sodass BizTalk Server die Nachricht abruft, wenn sie am Empfangsspeicherort eintrifft.

BizTalk Server bietet Hochverfügbarkeit für den Datei-Empfangsadapter, indem Sie Hostinstanzen auf mehreren Hostcomputern erstellen können, die denselben UNC-Pfad abonnieren. Wenn bei einer auf einem Hostcomputer ausgeführten Hostinstanz ein Fehler auftritt oder die Instanz vollständig ausfällt, kann dieselbe Hostinstanz, die auf einem anderen Hostcomputer ausgeführt wird, die Nachricht abrufen und persistent in der MessageBox-Datenbank speichern.

FTP-Adapter

Der FTP-Empfangsadapter sollte nicht für die Ausführung in mehreren Hosts konfiguriert werden, da der FTP-Empfangsadapter zum Abrufen von Dateien aus dem Zielsystem das FTP-Protokoll verwendet. Im FTP-Protokoll ist Dateisperrung jedoch nicht implementiert. Daher ist es möglich, dass beim Ausführen mehrerer Instanzen des FTP-Empfangsadapters gleichzeitig mehrere Kopien derselben Datei abgerufen werden. Der FTP-Empfangsadapter sollte für die Ausführung in einem geclusterten BizTalk-Host konfiguriert werden. Weitere Informationen finden Sie unter Überlegungen zum Ausführen von Adapterhandlern in einem gruppierten Host.

POP3-Adapter

Der POP3-Empfangsadapter kann nur dann für die Ausführung in mehreren Hosts konfiguriert werden, wenn der POP3-Server, von dem der Adapter liest, das gleichzeitige Herstellen mehrerer Verbindungen zu ein und demselben Postfach erlaubt. Wenn der POP3-Adapter mit einem POP3-Server verbunden ist, der mehrere gleichzeitige Verbindungen zu den Postfächern erlaubt, erreichen Sie die Hochverfügbarkeit des POP3-Adapters, wenn die POP3-Adapterempfangshandler in einer geclusterten BizTalk-Hostinstanz ausgeführt werden. Weitere Informationen finden Sie unter Überlegungen zum Ausführen von Adapterhandlern in einem gruppierten Host.

MSMQ-Adapter

Um Hochverfügbarkeit zu erzielen, führen Sie den MSMQ-Empfangsadapter auf einem BizTalk-Clusterhost mit Windows-Cluster aus, der sich in derselben Clustergruppe wie die gruppierte MSMQ-Ressource befindet. Weitere Informationen finden Sie unter Überlegungen zum Ausführen von Adapterhandlern in einem gruppierten Host.

Wenn der MSMQ-Empfangsspeicherort nur von MSMQ-Warteschlangen auf einem MSMQ-Remoteserver empfängt, kann Hochverfügbarkeit durch Ausführen des MSMQ-Empfangshosts auf mehreren BizTalk-Computern in der BizTalk-Gruppe erreicht werden. Um Hochverfügbarkeit für MSMQ bereitzustellen, müssen Sie sicherstellen, dass der MSMQ-Remoteserver Failoverclustering in Windows verwendet. Bei Verwendung von Transaktionswarteschlangen muss auf dem MSMQ-Remoteserver MSMQ 4.0 (Windows Server 2008) oder höher ausgeführt werden.

MQSeries-Adapter

Der Microsoft BizTalk-Adapter für MQSeries dient als Brücke zwischen BizTalk Server- und IBM MQSeries-Servern. Um eine hoch verfügbare Lösung bei Verwendung dieses Adapters zu erreichen, muss der Host mit dem MQSeries-Adapter mehrere Instanzen haben. Darüber hinaus müssen Sie geclusterte Warteschlangen-Manager in MQSeries für Windows verwenden und den MQSeries Server für Windows clustern. Weitere Informationen zum Gruppieren (Cluster) des Warteschlangen-Managers und des MQSeries-Servers finden Sie in der Dokumentation zu IBM WebSphere MQ. Weitere Informationen dazu, wie Sie den MQSeries-Adapter hoch verfügbar machen können, finden Sie unter "Hohe Verfügbarkeit" in der Hilfe zum Microsoft BizTalk-Adapter für MQSeries.

Windows SharePoint Services-Adapter

Der Windows SharePoint Services-Adapter ruft Nachrichten aus SharePoint ab, indem er den Windows SharePoint Services-Webdienst abruft, der von BizTalk auf dem SharePoint-Computer installiert wird. Der Adapter verwendet einen Auscheck-Mechanismus, damit dieselbe Nachricht nicht von verschiedenen Hostinstanzen verarbeitet wird. Dadurch kann der Empfangsadapter durch Hinzufügen weiterer Hostinstanzen hochskaliert werden. BizTalk Server bietet Hochverfügbarkeit für den SharePoint-Empfangsadapter, indem Sie dieselben Empfangsspeicherorte auf mehreren Hostinstanzen ausführen können, die dieselbe HTTP-URL abonnieren, die auf eine SharePoint NLB-Installation verweist.

WCF-NetTcp-Adapter

Für NetTcpBinding kann mithilfe von Lastenausgleichsverfahren der IP-Schicht ein Lastenausgleich ausgeführt werden. NetTcpBinding erstellt jedoch standardmäßig einen Pool der TCP-Verbindungen, um die Verbindungswartezeit zu verringern. Dies ist eine Optimierung, die den grundlegenden Mechanismus des Lastenausgleichs behindert. Der primäre Konfigurationswert zum Optimieren von NetTcpBinding ist der Timeout für die Freigabe, der Teil der Verbindungspooleinstellungen ist. Verbindungspooling bewirkt, dass Clientverbindungen bestimmten Servern innerhalb der Farm zugeordnet werden. Mit steigender Lebensdauer dieser Verbindung (ein Faktor, der von der Leasetimeout-Einstellung gesteuert wird) wird die Lastenverteilung über die verschiedenen Server auf der Farm zunehmend unausgeglichen. Demzufolge steigt die durchschnittliche Aufrufzeit. Sie sollten daher den von der Bindung verwendeten Standardtimeout für die Freigabe verringern, wenn Sie NetTcpBinding in Szenarien mit Lastenausgleich verwenden. Ein 30 Sekunden dauernder Leasetimeout ist ein angemessener Ausgangspunkt für Lastenausgleichsszenarien. Der optimale Wert richtet sich jedoch nach der jeweiligen Anwendung. Weitere Informationen zum Timeout für die Kanalfreigabe und andere Transportkontingente finden Sie unter „Transportkontingente“.

Weitere Informationen

Bereitstellen hoher Verfügbarkeit für BizTalk-Hosts