Раскидать картинки по папкам.

  • Автор темы Автор темы Redjik
  • Дата начала Дата начала
извените за мою ремарку, так и есть погорячился, но есть еще одна проблемка, инвалидация cache.
оригинал только что изменили по ftp. как действовать будем?
 
все правильно, а теперь после того как они раскиданы, хотелось бы их читать, и генерить путь до файла средствами RewriteMap
который кстати может еще и сгенерить/перегенерить preview, зная соурс.
да я именно так изначально и хотел, но на уровне nginx ... походу только с Lua модулем бы получилось ... в итоге посовещались и решили

сервер изображений может возвращать ID изображения в формате 'path/xyz' после того как на него залили это изображение,
это решает проблему как узнать путь к файлу изображений
 
извените за мою ремарку, так и есть погорячился, но есть еще одна проблемка, инвалидация cache.
оригинал только что изменили по ftp. как действовать будем?
Удаление миниатюр. Но вообще никто их по ФТП менять не будет))
 
Ой не зарекайся, эти бледнолиции способны на все. Я проверяю на дату в viewhelper перед тем как url отдать, и удаляю из cache, а дальше подобно твоему подходу, по просьбе генерю. Но мне не нравится что логика разбросана, rewritemap - решение, чтоб собрать воедино.
 
программист должен предусмотреть все возможные варианты развития событий (в том числе ХАК, в виде прямого вызова скрипта) - то простой readfile избавит сервер от вторичного ресайза изображения, остановив возможный dDoS.
я решил сделать проще: для ресайза выделить отдельный пул fpm из нескольких процессов (меньше, чем число ядер).
отресайзенная статика раздается nginx-ом сама по себе, а если забьется очередь ресайзов - ну и ладно, невелика проблема.
 
извените за мою ремарку, так и есть погорячился, но есть еще одна проблемка, инвалидация cache.
оригинал только что изменили по ftp. как действовать будем?
в распределенной архитектуре, где картинками занимается отдельный сервис, приложение заливает на cdn новое изображение и отдает команду на удаление старого. сервер изображений сам удаляет оригинал и чистит отресайзенные картинки, а приложение продолжает работать без задержек с новым id картинки.

откуда веб-приложение узнает об изменении файла по ftp - я так сходу не знаю, задача звучит как абстрактный конь в вакууме
 
Сдн должен считать новую картинку, нет нет нам приходилось flush писать, картинки днями не обновлялись на пустышки после удаления. Да не суть разве это интересно? Интересно использовал ли кто реврайтмар, и какие минусы
 
Можно на nginx накрутить локейшн с паттернами, который id % 100 делает.
А можно просто тупо nginx кешом пользоваться, т.е. отресайзенное хранит на диске сам nginx посредством fastcgi_cache. Там и бизи-локи есть.
 
Сверху