On Apr 4, 2013, at 1:13 PM, denis <de...@webmaster.spb.ru> wrote: > 04.04.2013 15:04, Anatoly Mikhailov пишет: >> Добрый день, >> >> появилась бизнес-задача организовать контролируемую доставку файлов >> с S3, разумеется, nginx будет заниматься проверкой условий и отдавать >> файл при их соблюдении. Заодно у нас появится возможность использовать >> SPDY для файлов с S3. >> >> пока нашел вариант с X-Accel-Redirect >> (http://kovyrin.net/2010/07/24/nginx-fu-x-accel-redirect-remote/) >> с отключенным proxy_max_temp_file_size и proxy_hide_header >> Content-Disposition. >> >> вопрос - использует ли кто данный подход и как правильно организовать >> прозрачное проксирование? > А какой смысл? У меня есть в планах чуть другая система: запрошенный файл > качаем с S3, кладём локально и в дальнейшем он будет отдаваться только > локально. Но нужно такое чуть для другого: если у нас произошел полный отказ > сервера, разворачиваем ядро сайта на новом месте + конфиги, и система сама > будет качать нужные файлы из резервного хранилища, а остатки потом докачать в > фоне с минимальным приоритетом. > > У вас получается, что файл будет каждый раз закачиваться с S3 на машину и > отдаваться, то есть трафик до амазона, трафик до юзера, нагрузка на сервер > даже больше, лаг отдачи (для файлов более 1мб может быть очень заметно). > Лучше тогда запустить инстанс в амазоне, который будет этот файл читать почти > как локальный, и уже напрямую отдавать (на поддомене может висеть). Плюс там > же можно отдавать через безопасные линки.
Смысл следующий, S3 - это не standalone сервер, а нормальное высокодоступное и отказоустойчивое распределенное файловое хранилище, поэтому мы используем его по назначению без лишних абстракций, сейчас задача - скрыть URL как это делает CNAME, но у нас HTTPS, поэтому CNAME отдается с невалидным сертификатом, что само по себе очевидно. У вас хорошая идея, но в нашем случае кэширование - это не та задача, которую мы решаем, у нас данные, что называется горячие, поэтому cache hit rate будет невысоким, а overhead лишним, так как придется очищать локальный кэш. Насколько мне известно, входящий и/или (надо уточнить про и/или) исходящий трафик внутри AWS бесплатный, и сервера у нас в тех же зонах, что и S3 корзины, поэтому я не вижу проблем со скоростью доступа к файлам, мы даже уберем буфер, чтобы отдавать напрямую Анатолий > > _______________________________________________ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru