Pregunta

Tengo un problema aquí. Suponga que tiene una tarea periódica de negocio, por ejemplo, la generación de saldo cada mes. Esa tarea podría correr en una granja, por lo que si el equipo que ejecuta la tarea periódica falla debe ser pasado a otro equipo.

Así que, ¿cómo podría persistir una tarea periódica y por lo que es seguro en una granja? He thinked en una cola persistente y compartida, pero estoy bastante atascado.

¿Alguna idea?

Gracias de antemano.

¿Fue útil?

Solución

Hay una gran cantidad de factores que falta en su pregunta. ¿Cómo estás accediendo a la tarea? Es un servicio web? Una llamada a procedimiento remoto? ¿Se ejecuta en su propio y luego almacenar los resultados en una carpeta compartida?

Si es sólo los servicios web a continuación, la solución podría ser sólo para consultar en orden, si uno no está disponible a continuación, pasar a la siguiente ... probablemente RPC solo podía ser manejado con el mismo procedimiento. Por supuesto, esto no escala tan bien y que es un poco especial, pero que sólo podría hacer el truco si usted no tiene tiempo para nada más.

Si usted tiene el tiempo y el dinero necesarios a escala que realmente debería echar un vistazo a reconfiguración de control que es la base para el tipo de tolerancia a fallos que estás buscando. Por supuesto que va a implicar un controlador (máquinas de vigilancia como @jldupont los llama), así como una gran cantidad de mecanismo y esfuerzo para mantener todo junto.

Vale la pena sólo si realmente lo necesita. Es una gran inversión en tiempo y dinero así que no audazmente hacerlo sólo porque es cool.

Otros consejos

El ir de 1 a> 1 es siempre un gran paso.

Opción 1

Necesitará (entre otras cosas):

  • máquinas Supervisor
  • protocolo de latido del corazón / detección de fallo
  • protocolo de elección para el planificador de tareas
  • programador de trabajo
  • informes de empleo

etc.

Opción 2

Sólo tienen múltiples máquinas de hacer la tarea y seleccione la salida exitosa de uno de ellos (o utilizar el voto por mayoría si siente que la necesita).

No está seguro de lo que su tecnología de pila es, pero echa un vistazo a cuarzo (o Quartz.net si se utiliza la pila .NET). El cuarzo es un planificador de tareas de la empresa con sólidas capacidades de conmutación por error / ha.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top