en este momento, tenemos un único servidor con una pestaña cronjob que envía correos electrónicos diarios. Nos gustaría escalar ese servidor. La aplicación es una aplicación estándar zend framework desplegada en el servidor centos en Amazon Cloud.Escalar cronjobs en varios servidores
Ya nos ocupamos del equilibrio de carga, la administración de contenido y la implementación de administración. Sin embargo, el cronjob sigue siendo un problema para nosotros, ya que tenemos que conceder que algunos trabajos se realicen solo una vez.
Por ejemplo, la tarea programada correos electrónicos todos los días hay que sólo se ejecuta una vez por ser un único servidor. Estoy buscando el mejor método para el beneficiario, solo un servidor lo ejecutará solo una vez.
Estoy pensando en 2 soluciones, pero me preguntaba si alguien más tenía el mismo problema.
- Haga que uno de los servidores sea "maestro", que solo envía los correos electrónicos diarios. Eso será un problema, si el servidor funciona mal, y generalmente no queremos tener un servidor "especial". También significa que tendremos que hacer un seguimiento de qué servidor es maestro.
- Haga que se realice una cola de tareas de programación. Cada servidor abre esa cola y ve qué tareas deben realizarse. El primer servidor que "agarra" la tarea, preformará la tarea y la marcará como terminada. Estaba viendo el servicio de cola simple de Amazon como una solución para la cola.
Ambas soluciones tienen ventajas y desventajas, y me preguntaba si alguien pensó en otra persona que podría ayudarnos aquí.
Esto podría ser mejor servido en ServerFault? –