Cluster
Zur Verbesserung des Datendurchsatzes und aus Gründen der Fehlertoleranz können Sie mehrere FlowForce Server so konfigurieren, dass sie als Cluster ausgeführt werden. Dies bringt folgende Vorteile:
•Lastenausgleich
•Schlankeres Ressourcenmanagement
•Wartung nach Zeitplan
•Verringertes Risiko von Unterbrechungen des Diensts
Anmerkung: | Systemübergreifende Cluster werden nicht unterstützt, d.h.eine Worker-Master-Verbindung zwischen verschiedenen Betriebssystemplattformen (wie z.B. zwischen Linux und Windows) ist nicht möglich. |
Lastenausgleich
Wenn die FlowForce Server-Hardware aufgrund mehrerer gleichzeitig ausgeführter Auftragsinstanzen überlastet ist, können Sie einen Teil der Arbeitslast an eine andere gerade ausgeführte Instanz von FlowForce Server (einen so genannten Worker) auslagern. Sie können einen Cluster bestehend aus einem Master-Rechner und mehreren Worker-Rechnern einrichten und auf diese Art alle lizenzierten Kerne im Cluster nutzen.
Schlankeres Ressourcenmanagement
Einer der als Master definierten Rechner überwacht ständig die Auftrags-Trigger und weist Aufträge in der Warteschlange Worker-Rechnern oder, je nach Konfiguration, auch sich selbst zu. Sie können die Warteschlangeneinstellungen konfigurieren und einen Auftrag einer bestimmten Warteschlange zuweisen. So können Sie den Master-Rechner etwa auch so konfigurieren, dass er gar keine Auftragsinstanzen verarbeitet, damit diese Ressourcen ständig ausschließlich dem FlowForce-Dienst statt für die Datenverarbeitung zur Verfügung stehen.
Wartung von Worker-Rechnern nach Zeitplan
Außerdem können Sie jede laufende Instanz von FlowForce Server, bei der es sich nicht um den Master handelt jederzeit neu starten oder herunterfahren, ohne dass dadurch der Dienst unterbrochen wird. Beachten Sie, dass der Master immer zur Verfügung stehen sollte; wenn Sie diesen neu starten oder herunterfahren, wird der Dienst unterbrochen.
Verringertes Risiko von Unterbrechungen des Diensts
Wie sich Hardware- oder Stromausfälle, ausgesteckte Netzwerkkabel, usw. auswirken, hängt davon ab, ob es sich beim betroffenen Rechner um einen Worker oder einen Master handelt:
•Wenn es sich beim Rechner um einen Worker handelt, gehen alle gerade ausgeführten FlowForce-Auftragsinstanzen auf diesem Worker verloren, doch steht der FlowForce-Dienst selbst weiterhin zur Verfügung, da neue Instanzen desselben Auftrags von einem anderen Worker (oder, je nach Konfiguration, vom Master) übernommen werden. Der Ausführungsstatus des Auftrags oder auch der Fehler wird dem Master gemeldet und im Auftragslog angezeigt, sodass ein Administrator manuell entsprechend eingreifen kann.
•Wenn es sich beim Rechner um einen Master handelt, steht der Dienst bei Ausfall nicht mehr zur Verfügung. In diesem Fall können keine neuen Auftragsinstanzen gestartet werden, solange der Master nicht zur Verfügung steht.
Terminologie
Im Zusammenhang mit verteilter Ausführung und Lastenausgleich werden die folgenden Termini verwendet.
Server-Instanz | Eine Server-Instanz ist eine laufende und lizenzierte Instanz von FlowForce Server. Es wird davon ausgegangen, dass auf dem Rechner beide Dienste (FlowForce Web Server und FlowForce Server) laufen.
|
Cluster | Ein Cluster repräsentiert mehrere auf verschiedenen Rechnern ausgeführte Instanzen von FlowForce Server, die miteinander kommunizieren, um Aufträge parallel auszuführen. Ein Cluster besteht aus einem einzigen Master FlowForce Server und einem oder mehreren Workern.
|
Master | Ein "Master" ist eine FlowForce Server-Instanz, die Auftrags-Trigger-Bedingungen ständig auswertet und die FlowForce-Dienstoberfläche bereitstellt. Der Master kennt die Worker-Rechner im selben Cluster und kann so konfiguriert werden, dass er diesen Auftragsinstanzen zuweist, damit diese Auftragsinstanzen entweder zusätzlich zum Master oder anstelle des Masters verarbeiten.
|
Worker | Eine FlowForce Server-Instanz, die so konfiguriert ist, dass sie mit der Master-Instanz kommuniziert, anstatt lokale Aufträge auszuführen. Ein Worker kann nur Aufträge ausführen, die ihm über einen Master zugewiesen wurden.
|
Ausführungswarteschlange | Eine Ausführungswarteschlange dient zum Verarbeiten von Aufträgen. Sie steuert, wie viele Auftragsinstanzen gleichzeitig ausgeführt werden können und wie viel Zeit zwischen den einzelnen Ausführungen verstreichen soll. Mit Hilfe der Warteschlangenkonfiguration können Server-Ressourcen effizienter eingesetzt werden.
Sie können eine Warteschlange innerhalb eines Auftrags (lokale Warteschlange) oder als eigenständiges Objekt (globale Warteschlange) definieren. Bei einer lokalen Warteschlange werden nur die Instanzen des Auftrags, in dem die lokale Warteschlange konfiguriert wurde, verarbeitet. Bei einer globalen Warteschlange können Instanzen eines einzigen Auftrags und Instanzen verschiedener Aufträge verarbeitet werden.
Mit Hilfe globaler Warteschlangen können Sie die Server-Auslastung auf einem einzigen FlowForce-Rechner oder in einem Cluster (siehe unten) steuern.
Lokale und globale Warteschlangen in einer Cluster-Umgebung (Advanced Edition)In einem Cluster wird die Verarbeitung auf mehrere Cluster-Mitglieder aufgeteilt: auf einen Master-Rechner und einen oder mehrere Worker-Rechner. Bei einer globalen Warteschlange können Sie ein Cluster-Mitglied auswählen, auf dem der Auftrag ausgeführt werden kann. Dabei kann es sich um einen Master-Rechner oder einen beliebigen Worker-Rechner, nur den Master oder nur einen Worker handeln. Bei lokalen Warteschlangen können Aufträge nur auf dem Master-Rechner und auf keinem anderen Cluster-Mitglied ausgeführt werden.
SicherheitFür Warteschlangen gelten hinsichtlich sicheren Zugriffs dieselben Einstellungen wie für andere FlowForce Server-Konfigurationsobjekte. Um Warteschlangen erstellen zu können, muss ein Benutzer das Recht zur Definition von Warteschlangen haben, siehe auch Definieren von Benutzern und Rollen. Außerdem können Benutzer Warteschlangen anzeigen und diesen Aufträge zuweisen, wenn sie die entsprechenden Container-Berechtigungen haben (siehe auch Funktionsweise von Berechtigungen. Standardmäßig erhält jeder authentifizierte Benutzer die Berechtigung Warteschlange - verwenden, d.h. er kann Aufträge einer Warteschlange zuweisen.
Um den Zugriff auf Warteschlangen einzuschränken, navigieren Sie zum Container, in dem die Warteschlange definiert wurde und ändern Sie die Berechtigung des Containers für die Rolle authenticated in Warteschlange - Kein Zugriff. Weisen Sie als nächstes allen Rollen oder Benutzern, die Sie benötigen, die Berechtigung Warteschlange - verwenden zu. Nähere Informationen finden Sie unter Einschränken des Zugriffs auf den Container /public.
Nähere Informationen zu lokalen und globalen Warteschlangen finden Sie unter Warteschlangen.
|