Bereitstellen hoher Verfügbarkeit für BizTalk-Hosts

BizTalk Server bietet eine große Flexibilität für die Behandlung von Hochverfügbarkeit, da Sie logische Hosts strategisch für die Ausführung bestimmter Funktionsbereiche wie den Empfang von Nachrichten, das Senden von Nachrichten oder die Verarbeitung von Orchestrierungen bereitstellen können.

Ein BizTalk-Host ist ein logischer Container innerhalb einer BizTalk Server-Gruppe, der BizTalk Server-Elemente wie Adapterhandler, Empfangsspeicherorte (einschließlich Pipelines) und Orchestrierungen enthalten kann. Normalerweise werden Elemente mit ähnlichen Skalierungsanforderungen in einem bestimmten Host gruppiert. Sie können z. B. Empfangsspeicherorte in einem „Empfangs“host zusammenfassen, Sendeports in einem „Sende“host und Orchestrierungen in einem „Verarbeitungs“host.

Nachdem Sie einen Host (einen logischen Container) erstellt haben, können Sie Instanzen des Hosts so konfigurieren, dass sie auf physischen BizTalk Server Computern in der BizTalk Server Gruppe ausgeführt werden. Ein Host instance als Windows-Dienst auf den angegebenen BizTalk Server Computern ausgeführt wird. Obwohl es nicht möglich ist, mehrere Instanzen desselben Hosts auf einem bestimmten BizTalk Server Computer auszuführen, können Sie mehrere Instanzen eines bestimmten Hosts ausführen, indem Sie Instanzen des Hosts auf separaten BizTalk Server Computern in einer BizTalk Server Gruppe konfigurieren. Sie können auch mehrere Instanzen unterschiedlicher Hosts auf einem einzelnen BizTalk Server-Computer ausführen.

In BizTalk-Hosts enthaltene Elemente können die folgenden Funktionen ausführen:

  • Empfangen Diese Elemente führen die anfängliche Verarbeitung von Nachrichten durch, nachdem sie an einem Empfangsspeicherort aufgenommen wurden. 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.

  • Senden Diese Elemente führen die endgültige Verarbeitung von Nachrichten durch, bevor sie an den Sendeport gesendet werden. Enthält ein Host ein sendendes Element wie einen Sendeport oder eine Sendepipeline, dient er als Sicherheitsgrenze, und die Signierung sowie Verschlüsselung von Nachrichten erfolgt in einer Pipeline innerhalb des Hosts.

  • Verarbeitung Diese Elemente verarbeiten Nachrichten basierend auf den Anweisungen in einer Orchestrierung.

    Ein einzelner BizTalk-Host kann zwar Elemente enthalten, die Nachrichten empfangen, senden und verarbeiten, es wird jedoch als bewährtes Verfahren betrachtet, verschiedene Hosts für jede Funktion zu erstellen, damit Sicherheitsgrenzen vorhanden sind und die Verwaltung und Skalierbarkeit vereinfacht wird. Insbesondere sollten Sie verschiedene Hosts für Verarbeitungsvorgänge und für Empfangs-/Sendevorgänge verwenden sowie vertrauenswürdige und nicht vertrauenswürdige Elemente trennen.

    Wenn Sie beispielsweise eine Nachricht empfangen, eine Orchestrierung ausführen und zehn Nachrichten senden, sollten Sie die Empfangs- und Sendefunktionen auf zwei separate Hosts aufteilen, da die gesendeten Elemente zehnmal so viel Verkehr verursachen wie die empfangenen. Wenn Sie eine Nachricht empfangen, eine Orchestrierung ausführen und eine Nachricht senden, können Sie sich diese Elemente als eine Arbeitseinheit vorstellen und sie in einen einzelnen Host gruppieren. Sie könnten die Elemente auch auf drei verschiedene Hosts aufteilen, um die Leistung und die Flexibilität zu erhöhen.

    BizTalk-Hosts sind einer von zwei Typen: "Prozessintern " oder "Isoliert". Prozessinterne Hosts werden innerhalb des BizTalk Server Laufzeitprozesses ausgeführt, während isolierte Hosts nicht im BizTalk Server Laufzeitprozess ausgeführt werden. In der folgenden Tabelle werden die Elemente aufgeführt, die jeder dieser Hosttypen enthalten kann.

Hosttyp Logischer Container für
In-Process -Orchestrierungen
- Adapter-Sendehandler
– Andere Adapter-Empfangshandler als HTTP und SOAP
Isolated HTTP- und SOAP-Empfangshandler

Weitere Informationen zu Hosts und Hostinstanzen finden Sie unter Verwalten von BizTalk-Hosts und Hostinstanzen.

Um Hochverfügbarkeit für BizTalk-Hosts bereitzustellen, müssen Sie über zwei oder mehr Hostinstanzen für jeden Host in Ihrer Umgebung verfügen (auf mindestens zwei BizTalk Server Computern). Durch Erstellen von mehreren Hostinstanzen für jeden Host stellen Sie sicher, dass beim Ausfall einer Hostinstanz die anderen Computer (mit Instanzen desselben Hosts) die Funktionen der fehlerhaften oder ausgefallenen Hostinstanz übernehmen. Auf diese Weise kann das Gesamtsystem mit minimalen Störungen weiterarbeiten.

Nachrichtenpersistenz

BizTalk Server hängt stark von SQL Server für Hochverfügbarkeit ab, da jeder host, der an BizTalk Server beteiligt ist, Nachrichten in der BizTalk MessageBox-Datenbank speichert. Wenn beispielsweise BizTalk Server eine eingehende Nachricht empfängt, speichert der Empfangshost diese in der MessageBox-Datenbank, bevor andere Hosts die Nachricht zur Orchestrierungsverarbeitung und zum Senden abrufen.

Wenn Ihre BizTalk Server-Lösung Orchestrierungen umfasst, leitet BizTalk Server die Nachricht an den Host weiter, der den Geschäftsprozess ausführt (verarbeitender Host), und speichert die Nachricht in der MessageBox-Datenbank, wenn die Orchestrierung abgeschlossen ist. Der sendende Host ruft die Nachricht dann aus der MessageBox-Datenbank ab und sendet sie durch den entsprechenden Sendeadapter an die externe Anwendung.

Trennen der Host- und Datenbankfunktionen

Da BizTalk Server die Daten von den Hosts trennt, die die Daten verarbeiten, können Sie einen Schritt zum Erstellen einer hochverfügbaren Umgebung ausführen, indem Sie die Hostfunktionen (Senden, Empfangen und Verarbeiten), die in BizTalk Server auftreten, von den Datenbankfunktionen trennen, die in SQL Server auftreten. Durch Trennen dieser Funktionen können Sie die verarbeitenden, sendenden und empfangenden Hosts sowie die Datenbanken, in denen die Daten gespeichert werden, unabhängig voneinander skalieren. Die Laufzeit- und Datenbankebenen hängen zusammen, d. h. wenn Sie die Anzahl der BizTalk Server Computer erhöhen, müssen Sie wahrscheinlich die Anzahl der Computer erhöhen, auf denen SQL Server ausgeführt wird, um die zusätzliche Last zu bewältigen. Es besteht jedoch keine direkte Beziehung zwischen der Datenbankebene und der BizTalk-Ebene. Die beiden Ebenen sind voneinander unabhängig und lassen sich getrennt ausskalieren.

Die Schritte zum Implementieren hoher Verfügbarkeit der Hosts unterscheiden sich von den Maßnahmen zum Implementieren hoher Verfügbarkeit der Datenbanken. In den folgenden Abschnitten wird erläutert, auf welche Weise Sie die empfangenden, sendenden und verarbeitenden Hosts hoch verfügbar machen. Weitere Informationen dazu, wie Sie die Datenbankebene hochverfügbar machen, finden Sie unter Bereitstellen von Hochverfügbarkeit für BizTalk Server Datenbanken.

Bei Bereitstellungen, in denen BizTalk Server mehr Daten verarbeitet als SQL Server, können Sie mehrere Computer mit SQL Server einrichten, die auf denselben Computer zugreifen, auf dem SQL ausgeführt wird. Diese Konfiguration nutzt die Ressourcen, die auf jedem einzelnen Computer verfügbar sind. Wenn beispielsweise die CPU- oder Arbeitsspeicherauslastung auf dem BizTalk Server-Computer hoch (mehr als 75 Prozent), jedoch auf dem Computer mit SQL Server niedrig ist (weniger als 25 Prozent), können Sie zur Verteilung der Arbeitslast weitere BizTalk Server-Computer hinzufügen und gleichzeitig die Ressourcenauslastung auf dem Computer mit SQL Server erhöhen.

In diesem Abschnitt

Weitere Informationen

Bereitstellen hoher Verfügbarkeit für BizTalk Server-Datenbanken
Hohe Verfügbarkeit für Einmaliges Anmelden für Unternehmen