Distribuzione di compiti cron-like su più server

0

Attualmente sto usando qualcosa come un server master-cron, che avvia le attività sui server slave-worker.

Ma ci sono così tanti compiti che i tempi vengono persi del tutto.

Esiste un algoritmo che elimina il singolo master?

    
posta K.. 17.02.2013 - 14:20
fonte

1 risposta

2

Potresti pensare di usare un framework per eseguire le tue attività cron in questo modo. Ciò che viene subito in mente è Capistrano . È un framework rubino per le distribuzioni, ma il principio generale è che è possibile connettersi alla macchina remota tramite SSH ed eseguire comandi arbitrari in modo transazionale.

Quindi potresti avere una master box che ha capistrano installato e da lì puoi configurare un cron-task per eseguire il tuo script capistrano che farà SSH nelle altre macchine e poi eseguirà il comando che vorresti eseguire come cron . Potresti anche configurare cose come tirare la copia più recente dello script da un repository Git e poi eseguirlo in modo che la distribuzione degli aggiornamenti di script sia semplicissima.

Puoi anche scrivere le tue estensioni per Capistrano per fare varie cose. L'unico svantaggio è che devi familiarizzare con il framework e imparare / sapere Ruby per essere davvero efficace con esso.

Aggiorna

Ho appena capito cosa stavi chiedendo e la mia risposta non risolve quel particolare problema. Tuttavia, puoi ancora utilizzare la tecnologia per risolvere il tuo problema gestendo le distribuzioni multi-server con Capistrano. Piuttosto che avere una relazione mastser-slave, basta che ogni server esegua i propri compiti. Capistrano dovrebbe occuparsi della distribuzione di script nuovi o aggiornati e dovrebbe fare in modo che il problema di manutenzione di avere tutti i server esegua i loro compiti scomparendo.

    
risposta data 17.02.2013 - 14:40
fonte

Leggi altre domande sui tag