Распределенное кодирование видео - Gearman vs Beanstalkd

Я собираюсь построить распределенный кластер кодирования видео из нескольких десятков машин. Раньше я никогда не работал с очередью сообщений, но двое, с которыми я начал экспериментировать, были Gearman и Beanstalkd.

Beanstalk кажется намного проще и проще в использовании, чем Gearman, но он не такой многофункциональный, как.

Я не понимаю одного ... как вы создаете новых рабочих на всех серверах? Планирую использовать php. Это так же просто, как запустить worker.php в интерфейсе командной строки с «&» и просто заставить его ждать работы?

Я заметил, что gearman на самом деле не убивает процесс после выполнения задания, но Beanstalk убивает, поэтому мне приходится перезапускать скрипт после каждого задания на каждом сервере.

В настоящее время я более склонен использовать Beanstalk, общий поток вещей, который я планировал, был следующим:

Ежеминутно запускать cron на каждом сервере, который проверяет, есть ли заранее определенное количество запущенных рабочих.Если его меньше, чем должно быть, создайте новые рабочие процессы. Каждый процесс займет примерно 2–30 минут.

Может, у меня здесь ошибка в логике? Дайте мне знать, какой способ сделать это «лучше» или «правильно»?

7
задан 22 February 2012 в 17:25
поделиться