Frage

Ich habe hier ein Problem. Angenommen, Sie ein Unternehmen periodische Aufgabe haben, zum Beispiel jeden Monat Gleichgewicht zu erzeugen. Diese Aufgabe in einem Bauernhof laufen konnte, so dass, wenn der Computer, der die periodische Task ausgeführt wird fehlschlagen muss es an einen anderen Computer übergeben werden.

So, wie könnte ich anhalten eine periodische Aufgabe und macht es in einem Bauernhof sicher? Ich habe in einer persistenten und gemeinsam genutzte Warteschlange thinked, aber ich bin ganz fest.

Irgendwelche Ideen?

Vielen Dank im Voraus.

War es hilfreich?

Lösung

Es gibt eine Menge von Faktoren auf Ihre Frage fehlt. Wie zugreifen Sie die Aufgabe? Ist es ein Web-Service? Ein Remote Procedure Call? Ist es auf eigene laufen und dann speichern Sie die Ergebnisse auf einem gemeinsam genutzten Ordner?

Wenn es nur Web-Service dann könnte Lösung einfach sein, sie zu fragen, um, wenn man nicht zur Verfügung steht dann zum nächsten gehen ... wahrscheinlich rpc nur mit dem gleichen Verfahren behandelt werden könnte. Natürlich bedeutet dies nicht so gut skalieren und es ist ein wenig ad hoc, aber es könnte nur den Trick tun, wenn Sie Zeit für irgendetwas nicht über andere.

Wenn Sie die Zeit und Geld benötigt, um wirklich Maßstab sollten Sie einen Blick auf Steuerung Rekonfiguration rel="nofollow , die die Grundlage für die Art der Fehlertoleranz Sie suchen. Natürlich, die einen Controller (sie Aufsicht Maschinen als @jldupont nennt) sowie eine Menge Mechanismus und Mühe zu halten alles zusammen.

impliziert werden

Es lohnt sich nur, wenn Sie es wirklich brauchen. Ist eine große Investition in Zeit und Geld so kühn es nicht tun, nur weil cool ist.

Andere Tipps

Wenn man von 1 bis> 1 ist immer ein großer Schritt.

Option 1

Sie müssen (unter anderem):

  • Supervisor-Maschinen
  • Heart-Beat-Protokoll / Fehlererkennung
  • Wahlprotokoll für Job Scheduler
  • Job Scheduler
  • Job Berichterstattung

etc.

Option 2

Haben Sie einfach mehrere Rechner die Aufgabe haben, und wählen Sie den erfolgreichen Ausgang von einem von ihnen (oder Mehrheit verwenden, wenn Sie Sie es fühlen müssen).

Nicht sicher, was Ihre Technologie-Stack, aber einen Blick auf Quartz (oder Quartz.net , wenn Sie das .NET-Stack). Quarz ist ein Unternehmen, Job-Scheduler mit robusten Failover / HA-Funktionen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top