2009-07-02 13 views
0

Wir haben eine Architektur mit ein paar hundert Servern mit etwa 200 Prozesse (alle intern entwickelt) verteilt über sie, einige kontrollierte von Crontab und einige, die als Dämonen laufen. Einige Server befinden sich in "Gruppen" , in denen alle Server identisch konfiguriert sind und andere Server benutzerdefinierte Konfigurationen haben. Ich wurde beauftragt, das Steuerelement dieser Aufgaben zu zentralisieren.Suche nach Open-Source-Linux-Tools für die verteilte Aufgabenverwaltung

Ein Anwendungsfall besteht darin, dass ein Benutzer in jede Box ssh'ed der Lage sein muss jeden Prozess im Netzwerk in etwas in der Nähe Echtzeit zu steuern, durch starten und den entsprechenden Daemon oder den Wiederaufbau Stoppen und erneutes Installieren der crontab . Es gibt bereits verschiedene Bits und Stücke erstellt, um alles aus einer Datenbank zu fahren, aber die gesamte Architektur wurde nicht gedacht, durch.

Ich erwarte, dass ich einen Daemon schreiben werde, der auf jedem Server und vermitteln zwischen Peer-to-Peer-Netzwerk, die Datenbank und die Daemons und Crontabs.

Ich untersuche, welche Technologien dieses Projekt unterstützen und unterstützen könnten.

Ich denke, ich suche nach Peer-to-Peer-zuverlässige Kommunikationstechnologien. Obwohl ich nicht 100 Prozent sicher bin, ist das, was ich brauche. Dinge auf meinem Radar gehören Spread, JXTA, Zookeeper und JMS.

Was sind die Erfahrungen der Menschen mit diesen Technologien, und welche anderen Technologien sollte ich auschecken ? Wie ich es sehe, werde ich sehr niedrige Datenraten haben (einige tausend Bytes pro Stunde höchstens). Aber Zuverlässigkeit und eine ausgereifte API sind wichtig.

Antwort

0

Entschuldigung, das ist keine wirklich direkte Antwort auf irgendwelche Ihrer Fragen, aber Dinge, die Sie beschreiben, klingen sehr, als würden Sie viele Doppelarbeiten erledigen - besonders wenn Sie nur an den Teil "Benutzer ssh in eine Box" denken. (Wortspiel unbeabsichtigt, aber jetzt, dass ich es bemerkte, yey! =)

Haben Sie in Projekten wie http://www.cfengine.org oder http://www.theether.org/pssh/ einen Blick geworfen?

+0

Wir verwenden bereits cfengine für die Bereitstellung unserer Server. Dieser Aufwand liegt auf einer etwas höheren Ebene: Prozesse manipulieren, während die Server aufbleiben. pssh ist interessant, also danke für den Pointer, ist aber eher ein User-Level-Tool. Ich brauche eine API und integrierte Zuverlässigkeit. – Leonard

+0

Sie können cfengine für laufende Konfigurationsaktualisierungen verwenden, ohne dass ein Neustart erforderlich ist. Obwohl es eine Menge Arbeit ist. Ich dachte, die Puppe würde gut aussehen. Es ist wie bei cfengine, aber lass uns noch ein paar Sachen machen. IIRC, kann es in der Prozesstabelle nachsehen, ob etwas läuft oder nicht. –

Verwandte Themen