Freigeben über


Horizontales Skalieren von BizTalk Server-Datenbanken

Um Hochverfügbarkeit für die BizTalk Server Datenbanken zu gewährleisten, konfigurieren Sie zwei Computer, auf denen SQL Server in einem Windows-Cluster ausgeführt werden. Diese Computer können aus Gründen der Redundanz in einer Aktiv/Aktiv-, Aktiv/Passiv- oder Aktiv/Passiv-Konfiguration (erfordert drei Computer) ausgeführt werden und daten auf einem freigegebenen Laufwerk (z. B. einem RAID 1+0 SCSI-Datenträgerarray) oder einem Speicherbereichsnetzwerk (SAN) speichern.

Sollte der SQL Server-Dienst nicht mehr zur Verfügung stehen, überträgt der Datenbankcluster Ressourcen vom aktiven Computer auf den passiven Computer. Während dieses Failoverprozesses treten bei den BizTalk Server-Dienstinstanzen Datenbankverbindungsfehler auf. Die Instanzen werden automatisch neu gestartet, um die Datenbankverbindung wiederherzustellen. Der funktionierende Datenbankcomputer (der zuvor passive Computer) beginnt mit der Verarbeitung der Datenbankverbindungen nach Übernahme der Ressourcen während des Failovers.

Das Clustern der BizTalk Server Datenbanken wird unter Clustering the BizTalk Server Databases2 erläutert. In diesem Abschnitt geht es darum, die BizTalk Server Datenbanken hochzuskalieren, um Hochverfügbarkeit zu gewährleisten.

Bereitstellen von Hochverfügbarkeit für die BizTalk MessageBox-Datenbank

Dieser Abschnitt enthält Informationen zum Konfigurieren der BizTalk MessageBox-Datenbank für Hochverfügbarkeit.

Ausführen mehrerer MessageBox-Datenbanken

Um die Skalierbarkeit der BizTalk Server Datenbanken zu verbessern und eine hohe CPU-Auslastung auf der MessageBox-Datenbank SQL Server Computer zu beheben, können Sie BizTalk Server so konfigurieren, dass Daten in mehreren MessageBox-Datenbanken gespeichert werden. Die erste MessageBox-Datenbank erstellen Sie beim Ausführen des Konfigurations-Assistenten. Diese MessageBox-Datenbank ist die MessageBox-Masterdatenbank. In Ihrer BizTalk Server-Bereitstellung gibt es nur eine MessageBox-Masterdatenbank. Die MessageBox-Masterdatenbank enthält die Master-Abonnementinformationen und routet Nachrichten an die entsprechende MessageBox-Datenbank. In der Regel möchten Sie die master MessageBox-Datenbank nur dem Routing widmen und die Verarbeitung von den anderen MessageBox-Datenbanken durchführen lassen. Wählen Sie in den MessageBox-Eigenschaften in der BizTalk-Verwaltungskonsole die Option Neue Nachrichtenveröffentlichung deaktivieren aus, damit eine MessageBox-Datenbank nur routingen kann.

Ein Beispiel für den Verarbeitungsablauf der MessageBox-Datenbank ist wie folgt:

  1. Wenn die MessageBox-Masterdatenbank eine neue Aktivierungsnachricht erhält (eine neue Instanz eines Geschäftsprozesses oder eine Abonnementnachricht), verteilt die MessageBox-Masterdatenbank die Aktivierungsnachricht an die nächste verfügbare MessageBox-Datenbank. Gibt es beispielsweise eine MessageBox-Masterdatenbank und zwei MessageBox-Datenbanken, leitet die MessageBox-Masterdatenbank nach dem Round-Robin-Prinzip die erste Aktivierungsnachricht an die MessageBox-Datenbank 1 weiter, die zweite Aktivierungsnachricht an die MessageBox-Datenbank 2, die dritte Aktivierungsnachricht wieder an die MessageBox-Datenbank 1, usw. Die MessageBox-Masterdatenbank führt einen Lastenausgleich mithilfe integrierter Logik durch. Darüber hinaus sind keine weiteren Lastenausgleichsmechanismen erforderlich.

  2. Nachdem die MessageBox-Masterdatenbank die Aktivierungsnachricht an eine bestimmte MessageBox-Datenbank weitergeleitet hat (z. B. MessageBox-Datenbank 1), wird der Geschäftsprozess in den Speicher geladen und ausgeführt.

  3. Wenn der Geschäftsprozess auf eine Nachricht warten muss und die Wartezeit länger als mehrere Sekunden ist, wird der Geschäftsprozess wieder in der MessageBox-Datenbank 1 gespeichert. Der Geschäftsprozess wartet auf eine Korrelationsmeldung.

  4. Wenn die Korrelationsmeldung bei der master MessageBox-Datenbank eingeht, führt die Nachrichten-Engine einen Suchvorgang in der Datenbank für die MessageBox-Datenbank durch, die den Status für die Korrelationsmeldung enthält (in diesem Beispiel MessageBox 1). Die master MessageBox-Datenbank übermittelt die Nachricht an die MessageBox-Datenbank, die den Geschäftsprozess enthält.

  5. Der Geschäftsprozess wird in den Arbeitsspeicher zurückgeholt, um die Verarbeitung fortzusetzen, bis er abgeschlossen ist oder bis er auf eine weitere Korrelationsmeldung warten muss.

    BizTalk Server speichert alle Statuszustände in den MessageBox-Datenbanken, und jede MessageBox-Datenbank enthält Statusinformationen für verschiedene Geschäftsprozesse. Aus Gründen der Zuverlässigkeit müssen Sie alle MessageBox-Datenbanken clustern. Dies gilt für die MessageBox-Masterdatenbank und die sekundären MessageBox-Datenbanken.

    Zum Konfigurieren mehrerer MessageBox-Datenbanken verwenden Sie die BizTalk Server-Verwaltungskonsole, um die Computer hinzuzufügen, auf denen SQL Server ausgeführt wird. Aus Verwaltungssicht müssen Sie nur neue MessageBox-Datenbanken hinzufügen. BizTalk Server sorgt automatisch für die Verteilung von Aktivierungsnachrichten nach dem Round-Robin-Prinzip und sendet Korrelationsnachrichten an die richtigen MessageBox-Datenbanken.

    Wenn Sie mehrere MessageBox-Datenbanken in Ihrer Umgebung konfigurieren, sollten Sie mindestens drei MessageBox-Datenbanken für Ihre BizTalk Server-Gruppe erstellen und die Nachrichtenveröffentlichung in der master MessageBox-Datenbank deaktivieren. Diese Empfehlung wird empfohlen, da das Hinzufügen zusätzlicher MessageBox-Datenbanken mehr Aufwand durch die master MessageBox-Datenbank für das Weiterleiten von Nachrichten zwischen den MessageBox-Datenbanken verursacht. Wenn Sie nur zwei MessageBox-Datenbanken konfigurieren, wird der größte Vorteil der zusätzlichen MessageBox-Datenbank durch den Mehraufwand ausgeglichen, der von der master MessageBox-Datenbank für das Nachrichtenrouting verbraucht wird.

Wichtig

BizTalk Server speichert alle Statuszustände in den MessageBox-Datenbanken, und jede MessageBox-Datenbank enthält Statusinformationen für verschiedene Geschäftsprozesse. Aus Gründen der Zuverlässigkeit müssen Sie alle MessageBox-Datenbanken clustern. Dies gilt für die MessageBox-Masterdatenbank und die sekundären MessageBox-Datenbanken.

Bereitstellen hoher Verfügbarkeit für mehrere MessageBox-Datenbanken

Das Hinzufügen von MessageBox-Datenbanken zu Ihrer BizTalk Server Bereitstellung verbessert zwar die Skalierbarkeit, bietet jedoch keine Hochverfügbarkeit, da jede MessageBox-Datenbank eindeutig und unabhängig ist und möglicherweise ein Single Point of Failure für Ihre BizTalk Server-Umgebung ist. Um Redundanz zu gewährleisten, müssen Sie für jede MessageBox-Datenbank einen Servercluster konfigurieren. BizTalk Server verteilt Daten über mehrere MessageBox-Datenbanken. Ohne Gruppierung von Servern in einem Cluster können die Datenbanken die Daten also nicht gemeinsam nutzen und auch anderweitig keine Redundanz gewährleisten.

Bereitstellen hoher Verfügbarkeit für die BizTalk-Überwachungsdatenbank

Abhängig von den Anforderungen Ihrer Bereitstellung muss unter Umständen die Leistung für die Überwachung erhöht werden. Dazu isolieren Sie die BizTalk-Überwachungsdatenbank auf einem separaten SQL Server-Computer und erstellen einen separaten BizTalk-Host, der für die Hostüberwachung zuständig ist. Die folgende Abbildung zeigt einen dedizierten Nachverfolgungshost mit zwei Hostinstanzen und gruppierten Datenbanken.

Horizontales Hochskalieren der Nachverfolgungsdatenbanken

Wenn Ihre Bereitstellung durch einen hohen Durchsatz gekennzeichnet ist und Sie zahlreiche Daten für diese Nachrichten überwachen müssen, kann der Überwachungs-Overhead umfangreiche Ressourcen auf dem Computer beanspruchen, auf dem SQL Server ausgeführt wird. Wenn diese Situation auftritt und weiterhin eine hohe Rate eingehender Nachrichten auftritt, erreicht BizTalk Server einen Punkt, an dem neue Nachrichten nicht verarbeitet werden können, da die zum Nachverfolgen von Nachrichten erforderlichen Ressourcen größer sind als die Ressourcen, die zum Ausführen der anderen BizTalk Server Komponenten erforderlich sind (z. B. das Empfangen von Nachrichten und deren Beibehaltung in der MessageBox-Datenbank).

Zur Steigerung von Leistung und Sicherheit wird empfohlen, einen Host für die Überwachung bereitzustellen, der keine weiteren Elemente enthält (wie Empfangsspeicherorte, Orchestrierungen oder Pipelines), und die Überwachung auf den empfangenden, verarbeitenden und sendenden Hosts deaktivieren. Erstellen Sie mehr als eine Hostinstanz des überwachenden Hosts, um Hochverfügbarkeit für den überwachenden Host zu erreichen. Weitere Informationen finden Sie unter Erstellen eines neuen Hosts.

Für jede MessageBox-Datenbank verwendet BizTalk Server nur einen Nachverfolgungshost instance, um Nachrichten aus der MessageBox-Datenbank in die BizTalk-Nachverfolgungsdatenbank (BizTalkDTADb) zu verschieben. Wenn auf zusätzlichen Computern Instanzen des überwachenden Hosts ausgeführt werden, wird die Verwaltung der einzelnen MessageBox-Datenbanken von BizTalk Server automatisch an eine separate Instanz des überwachenden Hosts ausskaliert. Ist die Zahl der MessageBox-Datenbanken größer als die Anzahl der Instanzen des überwachenden Hosts, bedient mindestens eine Überwachungshostinstanz mehr als eine MessageBox-Datenbank.

Wenn Sie Hochverfügbarkeit für die BizTalk-Überwachungsdatenbank sicherstellen möchten, konfigurieren Sie mithilfe des Windows-Clusterdiensts zwei Datenbankcomputer, auf denen SQL Server in einer Aktiv/Passiv-Konfiguration ausgeführt wird.

Bereitstellen hoher Verfügbarkeit für die BAM-Datenbanken

Business Activity Monitoring (BAM) bietet Einblick in Geschäftsprozesse unabhängig von der IT-Implementierung oder über eine heterogene IT-Implementierung hinweg. Die BAM SQL Server-Datenbanken (BAM-Sternschema-Datenbank, Primäre BAM-Importdatenbank und BAM-Archivdatenbank) sowie die BAM-Analysedatenbank speichern die Geschäftsaktivitätsdaten, die sich von den betrieblichen Überwachungsdaten unterscheiden. Das folgende Diagramm zeigt die BAM-Datenbankinfrastruktur.

BAM-Datenbankinfrastruktur

Um hohe Verfügbarkeit für die BAM-Infrastruktur zu gewährleisten, gehen Sie wie folgt vor:

  • Clustern Sie die Primäre BAM-Importdatenbank und die BAM-Analysedatenbank. Die primäre BAM-Importdatenbank bildet das Zentrum des Systems zur Geschäftsaktivitätsüberwachung. Daher sollten Sie diese Datenbank unbedingt mithilfe des Windows-Clusterdiensts hoch verfügbar machen und sich an die folgenden beiden Empfehlungen halten, um zu verhindern, dass sich die Datenbank füllt. Die BAM-Analysedatenbank ist eine Analysis Services-Datenbank, in der die Daten gespeichert werden, mit denen Wirtschaftsanalytiker Aktivitätsaggregationen und OLAP-Cubes erstellen. Datenbankausfälle wirken sich daher auf die Produktivität der Wirtschaftsanalytiker aus. Sie müssen die BAM-Archivdatenbank zwar nicht gruppieren, aber es wird empfohlen, das Ereignisprotokoll auf Fehler zu überwachen, wenn die SSIS-Pakete (SQL Server Integration Services) ausgeführt werden, um sicherzustellen, dass die Daten erfolgreich übertragen wurden, und um die Größe der Datenbank zu überwachen, damit Sie sie ersetzen können, bevor sie aufgefüllt werden.

  • Definieren Sie ein Onlinefenster. Um eine bessere Leistung zu ermöglichen und Ausfallzeiten zu vermeiden, partitioniert BAM die Daten in der primären BAM-Importdatenbank basierend auf dem Zeitstempel, zu dem die Aktivität abgeschlossen wurde, in Tabellen. Die Geschäftsaktivitätsüberwachung erreicht dies durch regelmäßigen Austausch der vervollständigten Tabelle durch eine andere, leere Tabelle mit identischem Format. Im Anschluss werden die zusätzlichen abgeschlossenen Aktivitäten in der neuen Partition (Tabelle) abgelegt, während die Geschäftsaktivitätsüberwachung die alten Partitionen für den Zeitraum beibehält, der im Onlinefenster definiert wurde. Sie müssen ein Onlinefenster definieren, um sicherzustellen, dass die Zahl der Partitionen in der Primären BAM-Importdatenbank nicht zu groß wird. Weitere Informationen zum Planen von Onlinefenstern finden Sie unter Archiving Primary Import Database Data.For more information about scheduling online, see Archiving Primary Import Database Data.

  • Planen Sie die ausführung von SSIS-Paketen in regelmäßigen Abständen. Durch Definieren eines Onlinefensters stellen Sie sicher, dass die primäre BAM-Importdatenbank nicht mit alten Aktivitätspartitionen aufgefüllt wird. Sie müssen auch die Ausführung von SSIS-Paketen in regelmäßigen Abständen planen, um eine neue Partition für die Aktivitätsdaten zu erstellen und die Daten aus den alten Partitionen in der primären BAM-Importdatenbank in die BAM-Archivdatenbank zu verschieben. Weitere Informationen zum Planen von SSIS-Paketen finden Sie unter Planen von SQL Server Integration Services-Paketen.

  • Wählen Sie sorgfältig kleine Sätze von Datenelementen (Prüfpunkte) aus, und vermeiden Sie das Einbeziehen unnötiger Datenelemente, wenn Sie eine Aktivität definieren.

  • Beachten Sie beim Entwerfen Ihrer Aggregationen die Vor- und Nachteile von geplanten Aggregationen und Echtzeitaggregationen. Echtzeitaggregationen werden automatisch von SQL Server-Triggern verwaltet. Für sie gilt keine Wartezeit. Sie eignen sich ideal für einige unternehmenskritische Szenarien mit niedriger Latenz, verursachen aber leistungsbedingte Kosten, wenn die Ereignisse in die primäre BAM-Importdatenbank geschrieben werden. Geplante Aggregationen basieren auf geplanten SSIS-Paketen, um ihre Aggregationsdaten zu aktualisieren. Ihre Latenz ist gleich oder größer als das SSIS-Zeitplanintervall, aber insgesamt haben sie geringere Auswirkungen auf die Leistung der primären BAM-Importdatenbank.

  • Wenn Sie geplante Aggregationen auswählen, sollten Sie sicherstellen, dass die Cubing-SSIS häufiger ausgeführt wird als die Archivierungs-SSIS. Dies liegt daran, dass der Archivierungs-SSIS die Aktivitätsdaten, die für die geplante Aggregation verarbeitet wurden, nicht in die BAM-Archivdatenbank verschoben wird.

  • Aktivieren Sie den BAM Event Bus-Dienst auf mehreren Computern, um Failoverfunktionen zu erhalten.

Bereitstellen hoher Verfügbarkeit für die anderen BizTalk Server-Datenbanken

Um Hochverfügbarkeit für die anderen BizTalk Server Datenbanken bereitzustellen, konfigurieren Sie zwei Computer, auf denen SQL Server in einem Windows-Cluster ausgeführt werden. Diese Computer können zur Redundanz in einer Aktiv/Aktiv- oder Aktiv/Passiv-Konfiguration ausgeführt werden und Daten auf einem freigegebenen Laufwerk (z. B. einem RAID 1+0 SCSI-Datenträgerarray) oder einem Speicherbereichsnetzwerk (SAN) speichern.

Weitere Informationen

Clustering der BizTalk Server Databases2