Как быстро обрабатывать загруженные пользователем изображения? - PullRequest
1 голос
/ 03 января 2012

Я думал об использовании imagemagick для обработки изображений, загруженных пользователем различными способами (создание новых изображений, которые масштабируются, имеют тени и т. Д.), Но меня беспокоит скорость.Я не хочу, чтобы пользователь смотрел на загрузочный gif навсегда.

Поэтому я начал смотреть вокруг, чтобы посмотреть, как это делают другие сайты, и обнаружил, http://www.redbubble.com. Пользователи загружают изображения, и почти мгновенно появляются тонныВариации изображения в магазине обрабатываются различными способами.Что он использует, чтобы обрабатывать и генерировать изображения так быстро?

1 Ответ

1 голос
/ 04 января 2012
  • Относительно сложно и неудобно поддерживать обработку изображений на стороне клиента (это было бы какое-то флэш-приложение, похожее на www.picnik.com с ограниченной функциональностью)

  • Я вижу использование ruby, nginx, удаленных вызовов xhr, json и т. Д., Что означает, что delayed_jobs / resque может использоваться для планирования асинхронной обработки изображений с использованием imagemagick, json / xhr для проверки состояния. обработанные изображения запрашиваются с ih * .redbubble.net (указывают на edgecastcdn.net) и похоже, что они производят их на лету и позволяют CDN кэшировать их до тех пор, пока пользователь не изменит это изображение или срок его действия в кеше не будет.

  • у них ~ 800 тыс. Посетителей в месяц, вы не хотите загружать приложения / веб-серверы для обработки изображений, есть либо delayed_jobs, либо рескейв позади сцены или ih * (хост изображений?), Которые производят образы на лету (их 4, но кто знает, сколько за конфигурацией виртуального хоста / прокси)

  • все запросы на отправку отправляются в amazon (ec2, это может быть IP с балансировкой нагрузки), оригиналы хранятся в amazon s3. они могут масштабироваться, запрашивая больше экземпляров ec2 по запросу.

надеюсь, вы поняли, что за этим стоит ... вернемся к вашему вопросу: не требуется обработка изображений на стороне клиента, используется imagemagick, и есть шанс, что они сделают это на лету.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...