Ich möchte eine Art verteiltes Setup erstellen, um eine Tonne kleiner/einfacher REST-Webabfragen in einer Produktionsumgebung auszuführen. Für jede 5-10 verwandte Abfrage, die von einem Knoten ausgeführt wird, erzeuge ich eine sehr kleine Menge abgeleiteter Daten, die in einer relationalen Standarddatenbank (wie PostgreSQL) gespeichert werden müssen.Lösung für die Verteilung VIELE einfache Netzwerkaufgaben?
Welche Plattformen sind für diese Art von Problemsatz gebaut? Die Natur, Datengrößen und Mengen scheinen der Denkweise von Hadoop zu widersprechen. Es gibt auch mehr Gitter-basierte Architekturen wie Condor und Sun Grid Engine, die ich erwähnt habe. Ich bin mir nicht sicher, ob diese Plattformen irgendeine Wiederherstellung von Fehlern haben (Überprüfung, ob ein Job erfolgreich ist).
Was ich wirklich gerne eine FIFO-Art Warteschlange wäre, der ich Jobs hinzufügen könnte, mit dem Endergebnis meiner Datenbank aktualisiert wird.
Irgendwelche Vorschläge für das beste Werkzeug für den Job?
Klingt ziemlich ähnlich zu einem (proprietären) Überwachungsprogramm Ich bin am Ende. Es lädt regelmäßig in konfigurierbaren Intervallen von mehreren URLs herunter, analysiert und speichert die Ergebnisse in einer PostgreSQL-Datenbank. Ich habe dies als ein einzelnes C++ - Programm implementiert, das eine Prioritätswarteschlange von Download-Jobs verwaltet (eigentlich eine std :: map, weil Jobs entfernt werden müssen, wenn die Überwachung deaktiviert ist) und libcurl verwendet, um das Herunterladen durchzuführen. Ich habe mich nicht damit befasst, die Ergebnisse zu bündeln, hauptsächlich weil das Überwachungsprogramm und die Datenbank auf demselben Server leben. Ich habe nicht wirklich eine Plattform benutzt, also +1 :-) –