Zschimmer GmbH Impressum und Kontakt

Job Scheduler     Erste Seite

  XML     API     Register


logo

Verteilte Aufträge

Load Balancing mit verteilten Aufträgen

Ein Job Scheduler Cluster kann verwendet werden, um Aufträge auf mehreren Hosts zu verarbeiten. Dies kann zum Load Balancing genutzt werden, um Verarbeitungszeiten durch einsatz weiterer Hardware zu minimieren.

In einem Cluster zeigen alle Job Scheduler ihre Verfügbarkeit durch das Versenden von Herzschlägen an. Alle Job Scheduler prüfen, ob die jeweils anderen Job Scheduler verfügbar sind. Stellt ein Job Scheduler fest, dass vom anderen Scheduler die Herzschläge über einen längeren Zeitraum (ca. 1-2 Minuten) ausbleiben, so übernimmt dieser die Verarbeitung der angefangenen Aufträge.

Die Voraussetzungen für die Operation eines Scheduler Clusters für verteilte Aufträge sind schematisch in der folgende Zeichnung abgebildet, und werden im Detail in den nächsten Abschnitt beschreiben.

Verteilte Aufträge können während ihres Weges durch die Job-Kette von verschiedenen Job Schedulern verarbeitet werden. Die Übernahme der Verarbeitung eines Auftrags in einem anderen Job-Knoten durch einen anderen Job Scheduler ist schematisch in der folgende Zeichnung abgebildet:

Voraussetzungen für Verteilte Aufträge

Starten des Job Scheduler Clusters für verteilte Aufträge

Die Job Scheduler, die den Cluster bilden, werden in beliebiger Reihenfolge gestartet. Es können während der Laufzeit beliebig Scheduler entfernt oder hinzugefügt werden. Beim entfernen von Job Scheduler Instanzen, sollten diese, wenn möglich, normal beendet (Terminate) werden, damit sie die Möglichkeit haben, Aufträge zu beenden, die gerade verarbeitet werden.

Erzeugen verteilter Aufträge

Verteilte Aufträge können entweder per <add_order> Befehl oder per Verzeichnisüberwachung erzeugt werden.

Verteilte Aufträge durch add_order

Es kann entweder das XML-Kommando <add_order> oder die API-Funktion Job_chain.add_order() verwendet werden. Es ist dabei egal an welchen Job Scheduler das Kommando geschickt wird beziehungsweise auf welchem Job Scheduler der Befehl ausgeführt wird. Der Auftrag wird dem gesamten Cluster zur Verarbeitung bereitgestellt.

Verteilte Dateiaufträge

Verteilte Dateiaufträge werden per <file_order_source> in einer verteilten Job-Kette konfiguriert. Jeder Job Scheduler des Clusters überwacht das Verzeichnis und kann Dateiaufträge erstellen. Ein Dateiauftrag wird nicht notwendigerweise von dem Job Scheduler verarbeitet, der ihn erstellt hat.

Standalone-Jobs in verteilten Schedulern

Eigenständige Jobs, die keine Aufträge verarbeiten, werden in einem Scheduler Cluster von dem Job Scheduler ausgeführt, in dem sie konfiguriert werden.


Software- und Organisations-Service GmbH

Zuletzt geändert von al, 2007-03-20