Comment concevoir un système distribué planificateur de travail?

Je veux concevoir un planificateur de travail du cluster, qui contient plusieurs hôtes de faire tâche de planification. Par exemple, un emploi qui a besoin de run every 5 minutes est soumis à la grappe, la grappe doit point sortir de l'accueil à l'incendie de l'exécution suivante, s'assurer que:

  1. Catastrophe tolérance: si pas tous les hôtes sont à la baisse, le travail doit être tiré avec succès.
  2. Validité: uniquement un hôte à l'incendie de la prochaine exécution de la tâche.

En raison de la catastrophe de la tolérance, de l'emploi ne peut pas se lier à un hôte spécifique. Une façon est de tous les hôtes de l'interrogation d'une table DB(certainement avec serrure), cela garanti une seule machine obtient la prochaine exécution de la tâche. Parce qu'il se verrouille de la table, est-il mieux de conception?

OriginalL'auteur coderz | 2014-11-12