[Moscow.pm] Задачка
Михаил Монашёв
postmaster на softsearch.ru
Сб Ноя 24 03:34:03 PST 2007
Здравствуйте Евгений,
>> Давно хочу понять как правильнее реализовать следующую задачку.
>> Предположим есть 2 сервера. На первом крутится апач с mod_perl, сюда
>> закачивают картинки, mp3, видео. Тут картинки ресайзятся, mp3 b видел
>> перекодируется. Потом по webdav-у закачивается на второй сервере, с
>> которого раздаётся юзерам nginx-ом. В итоге имеется проблема: на
>> первом процессор перегружен, на втором вообще отдыхает. Поэтому есть
>> желание пересчёт файлов перенести на второй сервер.
>>
>> И схема будет следующая: на первый сервер заливается картинка, mp3 или
>> видео, потом копируется webdav-ом на второй сервере, потом вызывается
>> для неё обработка (ресайз или пересчёт), потом она начинает раздавать
>> в инет. Причём картинки хотелось бы ресайзить сразу же.
>>
>> Вопрос: как правильно второму серверу сказать, что ему нужно делать.
>> Напрашивается решение - дёргать по RPC второй сервер. Но разных RPC
>> много, Гирман и Шварц напримен, а нужно выбрать самый лучший :-) Ну
>> или своё какое-то решение написать.
>>
>> Как бы Вы реализовали подобную задачу?
KE> легко. берется NFS, сервера вяжутся между собой, далее по cron дергаем
KE> содержимое NFS папок
KE> с каждого сервера в разное время. При обработке файла создаём .lock
KE> файл, чтобы не обрабатывать дважды.
KE> Далее конверченные файлы уже заливаем туда куда нужно.
NFS - это редкостное глюкало.
Да и зачем гонять по сети туда-сюда файлы? Файл должен обрабатываться
там, где он лежит.
Я наверное неверно сформулировал задачу: нужно правильно реализовать
вызов функций обработки файлов, расположенных на втором сервере, с
первого сервера. Варианты вызова: "обработай прямо сейчас" или
"обработай как только сможешь".
--
С уважением,
Михаил Монашёв, SoftSearch.ru
mailto:postmaster на softsearch.ru
ICQ# 166233339
http://softsearch.ru/
Без бэкапа по жизни.
Подробная информация о списке рассылки Moscow-pm