Wir haben viele Batch-Jobs für unseren Service, die von einer Maschine ausgeführt werden, die nun keine CPU-Ressourcen mehr hat.Apache Mesos zum Ausführen von Batch-, Singleton-Jobs?
Die meisten dieser Jobs sind ziemlich einfach. Suchen Sie beispielsweise einmal alle 5 Minuten unsere Datenbank ab und suchen Sie nach Daten, die verarbeitet werden müssen. Verarbeiten Sie dann diese Daten, und das Ergebnis wird in die Datenbank zurückgeschrieben.
Der Trick ist, dass alle diese Jobs nur mit einer Instanz gleichzeitig ausgeführt werden können, denn wenn zwei Instanzen gleichzeitig ausgeführt werden, haben wir Race Conditions und generieren doppelte Ergebnisse.
Ist Apache Mesos die richtige Lösung für uns, um den Jobserver zu ersetzen? Das heißt, können wir viele kleine Frameworks erstellen, jeder ist ein geplanter Job und Chronos, um jeden von ihnen mit einem Zeitintervall auszulösen? Können wir garantieren, dass wenn ein Job ausgelöst wird, nur einmal eine Instanz ausgeführt wird?
Nur aus Interesse, wie kann Chronos das mögliche "Mehrfachausführungsproblem" vermeiden? Ich denke, das muss anwendungsorientiert gelöst werden ... AFAIK die Einschränkungen können das nicht lösen. – Tobi
Ich nehme an, Sie haben einen Punkt dort, @Tobi, in dem Einschränkungen allein das Problem von OP nicht lösen würden, aber ich glaube in Kombination mit abhängigen Jobs sollte es funktionieren: http://mesos.github.io/chronos/docs/api. html # adding-a-dependent-job –