Sto cercando di costruire un cluster di codifica video distribuito di poche decine di macchine. Ive non ha mai lavorato con una coda di messaggi prima, ma i 2 con cui ho iniziato a giocare sono stati Gearman e Beanstalkd.Codifica video distribuita - Gearman vs Beanstalkd
Beanstalk sembra essere molto più semplice e facile da usare rispetto a Gearman, ma non è così ricco di funzionalità come.
Una cosa che non capisco è ... come si generano nuovi lavoratori su tutti i server? Ho intenzione di usare php. È semplice come eseguire worker.php in CLI con "&" e basta che si sieda lì in attesa di lavoro?
Ho notato che l'ingranaggio in realtà non uccide il processo dopo che un lavoro è finito, ma Beanstalk lo fa, quindi devo riavviare lo script dopo ogni lavoro, su ogni server.
Attualmente Im più inclini a utilizzare fagiolo magico, il flusso generale delle cose che ho previsto era:
Eseguire un minuziosamente cron su ogni server che controlla se ci sono quantità di lavoratori pre-definito in esecuzione. Se meno di quanto dovrebbe essere, genera nuovi processi di lavoro. Ogni processo richiederà circa 2-30 minuti.
Forse ho un difetto nella mia logica qui? Fammi sapere quale sarebbe un modo "migliore" o "corretto" per farlo?
Assicuratevi di controllare Feanstalk: https://github.com/pda/pheanstalk –
Perdonate la mia ingenuità, ma con uno di questi due sistemi di messaggistica, dove viene installato il "server"? Sul dispositivo remoto che gestirà il processo scaricato, o sul computer che informa il computer remoto di un nuovo lavoro? – ariestav
Troppo costoso per utilizzare uno di questi servizi. –