Übersicht über Hochverfügbarkeit und Notfallwiederherstellung
- Zuletzt aktualisiert2023/11/22
Übersicht über Hochverfügbarkeit und Notfallwiederherstellung
Die Hochverfügbarkeit (High Availability, HA) bietet einen Failover-Mechanismus, wenn ein IQ Bot-Service oder -Server ausfällt. Die Notfallwiederherstellung (DR, Disaster Recovery) ermöglicht die Wiederherstellung an einem räumlich getrennten Ort nach dem Ausfall eines kompletten Rechenzentrums infolge einer Katastrophe.
IQ Bot verwendet mindestens 3 Knoten und maximal 5 Knoten in einem Cluster für Hochverfügbarkeit (High Availability, HA).
HA- und DR-Lösung für IQ Bot
Im Zusammenhang mit IQ Bot reduzieren Hochverfügbarkeit (HA) und Notfallwiederherstellung (DR) Ausfallzeiten und ermöglichen eine Kontinuität des Geschäftsbetriebs (Continuity of Business, CoB) für Ihre Bot-Aktivitäten.
- Hochverfügbarkeit (High Availability, HA): Die Hochverfügbarkeit ist ein Architektursystemdesign zum Schutz eines Systems vor bestimmten Ausfallszenarien. Das bedeutet, dass selbst beim Ausfall von Teilen eines Systems das System als Ganzes weiterhin verfügbar und nutzbar ist. Hochverfügbarkeitslösungen schützen in der Regel vor bestimmten Szenarien wie Serverausfällen, Ausfällen einzelner Komponenten, Abhängigkeitsausfällen, variablen Lasterhöhungen und Netzwerkaufteilungen, bei denen vom System abhängige Komponenten in einem Netzwerk nicht mehr erreichbar sind.
- Notfallwiederherstellung (Disaster Recovery, DR): Die Notfallwiederherstellung umfasst eine Reihe von Richtlinien und Verfahren, mit denen die Wiederherstellung oder Fortführung entscheidender Infrastrukturen und Systeme nach einer Naturkatastrophe oder von Menschen verursachten Katastrophen möglich ist. Die Notfallwiederherstellung behebt viele verschiedene Ursachen von Ausfällen in einem System, bei dem die Hochverfügbarkeit in der Regel nur wenige vorhersehbare Ursachen abdeckt. Die Notfallwiederherstellung konzentriert sich auf die Wiederherstellung von Services nach einem Vorfall, nicht nur auf Failover. Die Wiederherstellung eines Systems umfasst Szenarien wie das Neustarten eines Diensts oder Systems, das Wiederherstellen von Konfigurationsdateien oder einer Datenbank aus Backups.
Erforderliche HA- und DR-Infrastrukturelemente
- Verteilter Ansatz: Neben dem Clustering von mit IQ Bot zusammenhängenden Rechenzentrumskomponenten empfehlen wir außerdem, dass Sie IQ Bot auf mehreren physischen und/oder virtuellen Servern bereitstellen.
- Lastenausgleich: Wird von einem Load Balancer durchgeführt und bezeichnet den Prozess der Verteilung von Anwendungs- oder Netzwerkdatenverkehr auf mehrere Server zum Schutz von Dienstaktivitäten. Auf diese Weise können Workloads zwischen mehreren Servern aufgeteilt werden. Dadurch wird die kontinuierliche Bot-Aktivität auf gruppierten Servern sichergestellt.
-
Datenbanken: Datenbanken verwenden ihr eigenes integriertes Failover zum Schutz der Daten. Dies stellt die Wiederherstellung der Datenbankdaten sicher.
- Konfigurieren Sie zwischen den HA-Clustern eine synchrone Replikation zwischen den primären (aktiven) und sekundären (passiven) Microsoft SQL Server-Instanzen im Rechenzentrum. Dadurch wird die Konsistenz im Falle eines Datenbankknotenausfalls sichergestellt.
Konfigurieren Sie für die erforderliche HA-synchrone Replikation eine der folgenden Optionen:
- Sicherungsreplikat als Synchronous-Commit-Modus von SQL Server Always On-Verfügbarkeitsgruppen
- SQL-zu-Server-Datenbankspiegelung
- Konfigurieren Sie die Datenbank zwischen den DR-Standorten so, dass eine asynchrone Replikation vom primären (Produktions-)DR-Standort zum sekundären (Wiederherstellungs-)DR-Standort, der sich an einem anderen geografischen Ort befindet, erfolgt.
- Konfigurieren Sie zwischen den HA-Clustern eine synchrone Replikation zwischen den primären (aktiven) und sekundären (passiven) Microsoft SQL Server-Instanzen im Rechenzentrum. Dadurch wird die Konsistenz im Falle eines Datenbankknotenausfalls sichergestellt.
Beispielszenario:
Verweisen Sie alle IQ Bot-Instanzen innerhalb desselben Clusters auf dieselbe Datenbank und dieselben Repository-Dateien. Dies ist erforderlich, um die gemeinsame Nutzung von Daten über mehrere Server hinweg zu ermöglichen und sicherzustellen, dass die Datenintegrität über IQ Bot-Server hinweg innerhalb eines Clusters zugreifen, gewahrt bleibt.
HA- und DR-Bereitstellungsmodelle
Um sicherzustellen, dass IQ Bot durch HA und/oder DR geschützt ist, sollten Sie Ihre Rechenzentren gemäß den in folgenden Abschnitten beschriebenen Bereitstellungsmodellen konfigurieren:
HA-Bereitstellungsanforderungen
- Installieren Sie IQ Bot auf mehreren Servern.
- Der Zugriff auf IQ Bot erfolgt über einen Load Balancer.
- Öffnen Sie einen RabbitMQ v3.8.18-Synchronisations-Port zwischen den IQ Bot-Servern
- Konfigurieren Sie den Microsoft SQL Server im Hochverfügbarkeitsmodus.
Anforderungen an die Konfiguration von HA und DR
- Das IQ Bot-Installationsprogramm unterstützt die Clusterinstallation nicht direkt. Gehen Sie zum Einrichten eines Clusters folgendermaßen vor:
- Führen Sie das Installationsprogramm auf jedem Anwendungsserverknoten aus.
- Geben Sie den
output folder
mithilfe der ZugriffsrolleEveryone
frei. - Führen Sie nach der Installation
messagequeue_cluster_configuration.bat
mit entsprechenden Befehlszeilenargumenten aus.
- Konfigurieren Sie IQ Bot mit einer Hochverfügbarkeitskonfiguration.
- Offene Firewallports: 4369 und 25672.
- Installieren Sie RabbitMQ v3.8.18 auf jedem IQ Bot-Knoten im Cluster.
Der erste Knoten, auf dem IQ Bot installiert wird, wird zum primären RabbitMQ v3.8.18-Knoten. Der Hostname des Primärknotens wird zum Einrichten des RabbitMQ v3.8.18-Clusters verwendet.
- Der Load Balancer ist erforderlich, um Datenverkehr auf alle IQ Bot-Serverknoten zu verteilen.
- Konfigurieren Sie Microsoft SQL Server für Hochverfügbarkeit. Verwenden Sie die Microsoft SQL Server-Option Always On.
- Informationen zu spezifischen RabbitMQ v3.8.18-Installationen finden Sie in der RabbitMQ v3.8.18-Dokumentation.
Bekannte Einschränkungen von HA und DR
- Um die Verfügbarkeit von IQ Bot-Instanzen zu ermitteln, sendet ein Load Balancer in regelmäßigen Abständen Pings, versucht Verbindungen aufzubauen oder fordert an, die IQ Bot-Instanzen zu testen. Diese Tests werden als Zustandsüberprüfungen bezeichnet.
- Zustandsüberprüfungen bestätigen nicht die Verfügbarkeit von RabbitMQ v3.8.18-Instanzen.