[Moscow.pm] Задачка

Kaltashkin Eugene zhecka на gmail.com
Сб Ноя 24 04:02:31 PST 2007


Михаил Монашёв пишет:
> Здравствуйте Евгений,
>
>   
>>> Давно  хочу  понять  как  правильнее  реализовать  следующую  задачку.
>>> Предположим  есть  2 сервера. На первом крутится апач с mod_perl, сюда
>>> закачивают  картинки, mp3, видео. Тут картинки ресайзятся, mp3 b видел
>>> перекодируется.  Потом  по  webdav-у закачивается на второй сервере, с
>>> которого  раздаётся  юзерам  nginx-ом.  В  итоге  имеется проблема: на
>>> первом  процессор  перегружен, на втором вообще отдыхает. Поэтому есть
>>> желание пересчёт файлов перенести на второй сервер.
>>>
>>> И схема будет следующая: на первый сервер заливается картинка, mp3 или
>>> видео,  потом копируется webdav-ом на второй сервере, потом вызывается
>>> для  неё обработка (ресайз или пересчёт), потом она начинает раздавать
>>> в инет. Причём картинки хотелось бы ресайзить сразу же.
>>>
>>> Вопрос:  как  правильно второму серверу сказать, что ему нужно делать.
>>> Напрашивается  решение  -  дёргать по RPC второй сервер. Но разных RPC
>>> много,  Гирман  и  Шварц напримен, а нужно выбрать самый лучший :-) Ну
>>> или своё какое-то решение написать.
>>>
>>> Как бы Вы реализовали подобную задачу?
>>>       
>
> KE> легко. берется NFS, сервера вяжутся между собой, далее по cron дергаем
> KE> содержимое NFS папок
> KE> с каждого сервера в разное время. При обработке файла  создаём .lock
> KE> файл, чтобы не обрабатывать дважды.
> KE> Далее конверченные файлы уже заливаем туда куда нужно.
>
> NFS - это редкостное глюкало.
>
>   
Вы не любите кошек ? Вы просто не умеете их готовить :)
Видел реализацию sshfs и ftpfs, только ssh будет грузить камень при 
передаче файлов, а FTP отваливаться по таймауту бездействия.

> Да  и зачем гонять по сети туда-сюда файлы? Файл должен обрабатываться
> там, где он лежит.
>   
Насколько я понял файлы сначала заливаются на один сервер, потом 
конверченые копируются на другой.
> Я  наверное  неверно сформулировал задачу: нужно правильно реализовать
> вызов  функций  обработки  файлов,  расположенных на втором сервере, с
> первого   сервера.  Варианты  вызова:  "обработай  прямо  сейчас"  или
> "обработай как только сможешь".
>   
В этом случае можно дергать LA обоих системы и балансировать нагрузку на 
них.



Подробная информация о списке рассылки Moscow-pm