Zamierzam zbudować rozproszone kode kowanie wideo kilkudziesięciu maszyn. Nigdy wcześniej nie pracowałem z kolejką wiadomości, ale 2, z którymi zacząłem grać, to Gearman i Beanstalkd.Rozproszone kodowanie wideo - Gearman kontra Beanstalkd
Beanstalk wydaje się być dużo prostszy i łatwiejszy w użyciu niż Gearman, ale nie jest tak bogaty w funkcje jak.
Jedna rzecz, której nie rozumiem, to ... w jaki sposób odradza się nowych pracowników na wszystkich serwerach? Planuję korzystać z php. Czy jest to tak proste, jak uruchomienie pliku worker.php w interfejsie CLI z "&" i czy po prostu czeka na pracę?
Zauważyłem, że gearman tak naprawdę nie zabija procesu po wykonaniu zadania, ale Beanstalk robi to, więc muszę restartować skrypt po każdym zadaniu, na każdym serwerze.
Obecnie Im bardziej skłonni do korzystania beanstalk, ogólny przepływ rzeczy zaplanowano:
Uruchom drobiazgowo cron na każdym serwerze, który sprawdza, czy są wstępnie zdefiniowane ilość pracowników uruchomiony. Jeśli jest to mniej niż powinno, należy odradzić nowe procesy robocze. Każdy proces trwa około 2-30 minut.
Może mam tu wadę w mojej logice? Daj mi znać, jaki byłby "lepszy" lub "właściwy" sposób robienia tego?
Pamiętaj, aby sprawdzić Pheanstalk: https://github.com/pda/pheanstalk –
Wybacz moją naiwność, ale z jednym z tych dwóch frameworków komunikacyjnych, gdzie jest zainstalowany "serwer"? Na zdalnej maszynie, która obsłuży odciążony proces lub urządzenie, które informuje zdalny komputer o nowej pracy? – ariestav
Zbyt kosztowne korzystanie z którejkolwiek z tych usług. –