Hohe Verfügbarkeit sorgt für unterbrechungsfreien Betrieb und minimiert oder verhindert Datenverlust bei Ausfall eines Computers. Ähnlich wie andere ArcGIS Enterprise-Komponenten kann ArcGIS Server in einer Konfiguration mit hoher Verfügbarkeit und einem Netzwerk-Load-Balancer eines Drittanbieters bereitgestellt werden.
Diese Konfiguration ist eine Variation der Bereitstellung eines einzelnen Computers mit hoher Verfügbarkeit (Aktiv/Passiv), in der die ständige Verteilung der Last auf alle Sites im Load Balancer konfiguriert ist. In dieser Konfiguration gibt es keine Standby-Sites.
In dieser Architektur sind zwei oder mehr ArcGIS Server-Sites hinter dem Load Balancer eines Drittanbieters konfiguriert, um die Kapazität der ArcGIS Server-Bereitstellung zu erhöhen. Mit dieser Methode können Sie einige der Einschränkungen bezüglich der hohen Verfügbarkeit, die in den Bereitstellungsszenarios mit einem einzelnen Computer und einem einzelnen Computer mit Reverseproxyserver beschrieben werden, umgehen oder durch das Hinzufügen weiterer Computer hochskalieren.
Eine Skalierung und hohe Verfügbarkeit kann zwar durch die Verwendung von Sites mit mehreren Computern erreicht werden; es gibt jedoch einige Vorteile und Einschränkungen von Aktiv/Aktiv-Bereitstellungen, die nachstehend erörtert werden.
In einer Aktiv/Aktiv-Architektur wird eine Site mit einem einzelnen Computer geklont, und eigenständige Instanzen der Site werden hinter einen Load Balancer geschaltet. Technisch gesehen handelt es sich bei dieser Konfiguration nicht um eine Site mit mehreren Computern, da jede der Sites von den anderen unabhängig ist, aus einem einzelnen ArcGIS Server-Computer besteht und über einen eigenen lokalen Konfigurationsspeicher sowie eigene lokale Serververzeichnisse verfügt.
Bereitstellungen von ArcGIS Server-Sites mit mehreren Computern erleichtern die Serveradministration in hohem Maße. Die Aktiv/Aktiv-Architektur kann jedoch in Szenarien verwendet werden, in denen die Anzahl und Einstellungen der Services genau definiert sind und statisch bleiben. In diesen Fällen kann eine solche Konfiguration bedeutende Performance-Vorteile gegenüber Sites mit mehreren Computern bieten, besonders bei gecachten Kartenservices.
Diese Architektur erleichtert das Ersetzen veralteter oder fehlerhafter Computer, das Anwenden von Upgrades oder das Hinzufügen und Entfernen von Computern in der Site nach Bedarf, ohne die Services zu unterbrechen oder Anforderungen abzubrechen. In einer Aktiv/Aktiv-Architektur müssen Sie jedoch dafür sorgen, dass alle Sites synchronisiert bleiben. Dadurch entsteht administrativer Mehraufwand, weshalb dieses Bereitstellungskonzept unpraktisch ist, sobald es viele Computer, Services oder Caches gibt, die sich regelmäßig ändern. Zudem müssen Sie oder Ihre IT-Mitarbeiter über gute Kenntnisse zu Load Balancern von Drittanbietern verfügen.
ArcGIS Server-Computer, -Serververzeichnisse und -Konfigurationsspeicher
Jeder ArcGIS Server-Computer muss über einen eigenen lokalen Konfigurationsspeicher sowie ein lokales Cache-, Auftrags- und Systemverzeichnis verfügen. Dadurch wird eine bestmögliche Performance sichergestellt, und Interdependenzen werden auf ein Minimum reduziert. Umgekehrt muss/müssen das/die Ausgabeverzeichnis(se) für jede Site freigegeben werden. Weitere Informationen finden Sie nachfolgend unter Weitere Überlegungen.
Daten
Bei Verwendung dateibasierter Datenquellen in den GIS-Services empfiehlt es sich, diese lokal auf den einzelnen ArcGIS Server-Computern und nicht auf Netzwerkfreigaben zu speichern, um eine größtmögliche Performance der Services zu erzielen. In einigen Fällen (z. B. bei der Verarbeitung großer Bilddatenmengen) kann die Freigabe der Dateien über das Netzwerk die einzig praktikable Methode darstellen. Bei der Verwendung von Dateien in freigegebenen Ressourcen über das Netzwerk ist es sehr wichtig, ein Speichergerät auszuwählen, das für hohe Verfügbarkeit konfiguriert wurde.
Bei Datenbanken können Sie eine Datenbank für jede Ihrer Sites verwenden: eine Datenbank für die primäre Site und eine separate Datenbank für die Standby-Site. Um die Datenbanken synchron zu halten, können Sie die Datenbankreplikation oder ggf. auch Geodatabase-Replikation anwenden. Als Alternative können Sie weitere Hochverfügbarkeitsmechanismen Ihres Datenbankanbieters nutzen.
Reverseproxyserver
In dieser Konfiguration ist ein Load Balancer eines Drittanbieters erforderlich. Diese Komponente wird mindestens zur Verteilung der Last auf alle Sites eingesetzt. Load Balancer verfügen über verschiedene Konfigurationen zum Verteilen der Last, z. B. Roundrobin und Least Connection-Methode. Die Auswahl der richtigen Lastverteilung hängt von den auf den ArcGIS Server-Sites ausgeführten Web-Services und deren Nutzungsmustern ab.
Load Balancer bieten normalerweise auch Optionen zur Ausfallbehandlung. Beispielsweise können Sie im Load Balancer Regeln anwenden, die verhindern, dass Anforderungen an einen aufgrund eines Hardware- oder Netzwerkausfalls nicht verfügbaren Computer oder an einen bestimmten nicht verfügbaren ArcGIS Server-Service weitergeleitet werden. Bei Verwendung von Sites mit einem einzigen Computer (wie hier beschrieben) werden Anforderungen, die an einen bestimmten Computer gesendet werden, auch tatsächlich von diesem Computer verwaltet.
Die Verwendung von ArcGIS Web Adaptor ist optional und bei diesem Szenario normalerweise nur erforderlich, wenn Sie die Vorteile der Authentifizierung auf Webebene nutzen möchten. Sie können ihn auf demselben Computer konfigurieren, auf dem sich auch ArcGIS Server befindet, oder auf einem dedizierten Computer. In beiden Fällen müssen Sie bei der Verwendung von ArcGIS Web Adaptor einen separaten ArcGIS Web Adaptor für jede Site in der Aktiv/Aktiv-Konfiguration konfigurieren.
In der Regel fungiert der Load Balancer auch als Reverseproxyserver. In einigen Szenarien wurde möglicherweise bereits unabhängig vom Load Balancer ein Reverseproxyserver konfiguriert.
Wenn der Load Balancer Ihres Netzwerks die Systemdiagnose unterstützt, können Sie den Endpunkt der Systemdiagnose von ArcGIS Server verwenden, um zu ermitteln, ob die Site für den Empfang von Anforderungen verfügbar ist. Dies ist hilfreich, um schnell zu bestimmen, ob ein Software- oder Hardwarefehler in der Site vorliegt. Weitere Informationen finden Sie unter Systemdiagnose in der ArcGIS-REST-API.
Überlegungen für Aktiv/Aktiv-Konfigurationen
Beim Planen einer ArcGIS Server-Site mit einer Aktiv/Aktiv-Konfiguration für hohe Verfügbarkeit sollte Folgendes beachtet werden.
Synchronisieren von Services
Im Gegensatz zu einer Site mit mehreren Computern muss bei dieser Konfiguration auf allen Sites hinter dem Load Balancer genau derselbe Inhalt gehostet werden, und alle Sites müssen dasselbe Sicherheitsmodell aufweisen. Sie müssen sicherstellen, dass alle Sites für den Load Balancer identisch aussehen.
Nachfolgend finden Sie mehrere Möglichkeiten, mit denen Sie die ArcGIS Server-Services auf den primären und Failover-Sites miteinander synchronisieren können:
- Skripte: ArcGIS Server umfasst eine REST-API, mit der Sie Skripte für administrative Tasks erstellen können, z. B. zum Veröffentlichen von Services und Ändern der Sicherheitseinstellungen. Sie können eigene Skripte erstellen, um Änderungen durchgängig auf alle in der Bereitstellung enthaltenen ArcGIS Server-Computer anzuwenden. Skripte sind besonders hilfreich, wenn Sie kleinere Anpassungen vornehmen müssen, etwa zum Ändern oder Überschreiben der Sicherheit eines Service.
Hinweis:
Jede Site kann über Skripte erstellt werden. Erstellen Sie nach der Generierung aller Sites eine Sicherung von einer Site, und stellen Sie die Sicherung auf allen anderen Sites wieder her. Dadurch wird sichergestellt, dass alle Computer denselben Verschlüsselungsschlüssel verwenden.
- Virtualisierung: Erstellen Sie eine Vorlage für virtuelle Computer, und starten Sie damit neue Sites. Wie bereits erwähnt, wird dadurch sichergestellt, dass alle Computer denselben Verschlüsselungsschlüssel verwenden. Außerdem enthält jede Vorlage eine Kopie der für GIS-Services erforderlichen Daten (es sei denn, es wird eine Datenbank verwendet) sowie für alle freigegebenen und konfigurierten Services. Wenn Änderungen erforderlich sind (z. B. das Hinzufügen oder Aktualisieren vorhandener Services), erstellen Sie eine Vorlage, um nachfolgende virtuelle Computer zu starten, die den vom Load Balancer verwendeten vorhandenen Pool von ArcGIS Server-Computern ersetzen. Sie können Vorlagen für virtuelle Computer auch für die Wiederherstellung von veralteten ArcGIS Server-Computern verwenden.
Für die Anwendung von Änderungen in Ihren Sites wird bei diesem Bereitstellungsmuster die folgende Vorgehensweise empfohlen:
- Nehmen Sie administrative Änderungen zuerst an einer Site im Standby-Modus vor. Fügen Sie einen neuen Service hinzu oder ändern Sie die Sicherheit eines Service beispielsweise in einer Site, die keine aktiven Anforderungen verarbeitet. Auf diese Weise wird sichergestellt, dass keine Auswirkungen auf Anwendungen auftreten, die die primäre Site verwenden.
- Konfigurieren Sie den Load Balancer manuell, um alle Anforderungen an die Standby-Site weiterzuleiten, auf der die Änderungen vorgenommen wurden.
- Wenden Sie dieselben Änderungen auf die nicht aktive Site an.
- Kehren Sie den Vorgang auf dem Load Balancer wieder um, sodass Anforderungen wieder zur ursprünglichen primären Site weitergeleitet werden, und belassen Sie die Standby-Site im Standby-Modus.
In der vorstehenden Vorgehensweise beschriebene Änderungen an der Site können manuell über ArcGIS Server Manager, Skripte oder virtuelle Images angewendet werden.
Freigeben des Ausgabeverzeichnisses
Manche Service-Operationen von ArcGIS Server referenzieren Ressourcen in einem oder mehreren Ausgabeverzeichnissen. Beispielsweise können Kartenservices Bilder in ein Ausgabeverzeichnis schreiben und diese über eine URL in der Anforderungsantwort referenzieren. Damit das Bild beim jeweiligen Client auch wirklich ankommt, müssen alle Sites in Ihrer Aktiv/Aktiv-Konfiguration auf dasselbe Ausgabeverzeichnis verweisen. Dies lässt sich dadurch erreichen, dass die Ausgabeverzeichnisse auf einer Netzwerkressource gespeichert und für Ihre Sites freigegeben werden.
Nachfolgend sind Service-Operationen aufgelistet, die Ausgabeverzeichnisse verwenden:
- Erstellen eines Feature-Service-Replikats (Feature-Service)
- Herunterladen eines Raster-Bildes (Image-Service)
- Exportieren eines Kartenbildes (Kartenservice)
- Exportieren eines Schematic-Diagramms (Schematics-Funktion in einem Kartenservice)
- Exportieren einer Webkarte (Geoverarbeitungs-Service)
Asynchrone Ausführung von Geoverarbeitungsservices
ArcGIS Server-Geoverarbeitungsservices unterstützen zwei Ausführungsmodi: synchron und asynchron. Die synchrone Ausführung geht nach einem statusunabhängigen Anforderungs-/Antwort-Muster vor und wird in einer Aktiv/Aktiv-Konfiguration vollständig unterstützt. Bei der asynchronen Ausführung wird ein statusabhängiges Anforderungs-/Antwort-Muster befolgt, was der Standard ist. Wenn Sie die asynchrone Ausführung in einer Aktiv/Aktiv-Konfiguration nutzen möchten, sollten Sie Folgendes berücksichtigen:
- Beim Senden eines asynchronen Geoverarbeitungsauftrags wird eine Auftrags-ID zurückgegeben, die auf den gesendeten Auftrag und die zugehörigen Ausgaben verweist. Nur die ArcGIS Server-Site, die den ursprünglichen Auftrag erhält, kann diese ID erkennen. Aus diesem Grund müssen Sie in der Aktiv/Aktiv-Konfiguration die Affinität in Ihrem Load Balancer definieren (auch als "Sticky-Sitzungen" bezeichnet), wenn Sie die asynchrone Ausführung verwenden möchten. Auf diese Weise kann hohe Verfügbarkeit für asynchrone Geoverarbeitungs- und Kartenservice-Ausgaben bereitgestellt werden. Konsultieren Sie den Hersteller Ihres Load Balancer, um die Auswirkungen aktivierter "Sticky-Sitzungen" abzuklären.
- Sollte Ihr Geoverarbeitungsservice das Rendern von Ergebnissen durch Kartenservices nicht unterstützen und wurden keine Ergebnisse vom Typ "Datei" definiert, können Sie für Ihre Geoverarbeitungsservices die synchrone Ausführung wählen. Hierfür werden im Load Balancer keine "Sticky-Sitzungen" benötigt.
Verwenden der tokenbasierten Sicherheit
Bei Verwendung der tokenbasierten Authentifizierung – auch als Authentifizierung auf Serverebene bezeichnet – ist wichtig, dass alle Sites in dieser Konfiguration genau denselben freigegebenen Tokenschlüssel verwenden. Andernfalls sind für einen Computer generierte Token ungültig, wenn sie für den anderen Computer verwendet werden. Zum Duplizieren der freigegebenen Tokenschlüssel auf mehrere Sites können Sie Token-Einstellungen in Manager bearbeiten.
Upgrade-Strategien
Um möglichst kurze Ausfallzeiten sicherzustellen, können Sie ein Upgrade für Ihre ArcGIS Server-Sites nacheinander durchführen. Beim Upgrade einer Site können Sie Ihren Load Balancer so konfigurieren, dass keine Anforderungen an die nicht verfügbare Site weitergeleitet und die Last auf andere unabhängige Sites in Ihrer Aktiv/Aktiv-Architektur verteilt werden.
Der andere Ansatz, bei dem das Upgrade für alle ArcGIS Server-Sites parallel erfolgt, bietet sich an, wenn Ihre Organisation ein gewisses Maß an Ausfallzeit und Datenverlust tolerieren kann. Da alle Sites in einer Aktiv/Aktiv-Architektur unabhängig voneinander sind, können Sie das Upgrade gleichzeitig durchführen, ohne dass es zu Problemen mit Interdependenzen kommt.
Verbund
Da es eindeutige Konfigurationsspeicher für jede Site gibt, können Aktiv/Aktiv-Bereitstellungen von ArcGIS Server mit einem einzelnen Computer nicht mit Portal for ArcGIS verbunden werden. Zum Verbinden einer hoch verfügbaren Server-Site mit Ihrem Portal konfigurieren Sie eine Site mit mehreren Computern.