Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: неблокирующий аплоад
29.03.2013 3:08, Anatoly Mikhailov пишет:
On Mar 28, 2013, at 8:30 PM, Валентин Бартенев <vbart@xxxxxxxxx> wrote:
On Thursday 28 March 2013 23:54:48 Andrey N. Oktyabrski wrote:
On 28.03.2013 18:45, Валентин Бартенев wrote:
On Thursday 28 March 2013 16:34:21 Anatoly Mikhailov wrote:
Вопрос по неблокирующему аплоаду больших файлов, в идеале без
необходимости использовать проксирование на upstream.
2 варианта:
1) nginx-upload-module
2) lua-resty-upload
Первый поломался с выходом nginx 1.3.9
https://github.com/vkholodkov/nginx-upload-module/issues/41 Второй
требует 2 дополнительных модуля (devkit, lua), но еще не
production-ready
Что выбрать?
Пользоваться штатными средствами.
http://nginx.org/r/client_body_in_file_only/ru
Вот бы штатными средствами было вот это реализовано, так можно было бы и
пользоваться:
http://www.grid.net.ru/nginx/resumable_uploads.ru.html
Сделать всякого можно, был бы только спрос.
если хорошо задокументировать, то спрос будет обязательно,
погуглив, можно только найти nginx_upload_module и lua модуль,
но про client_body_in_file так просто не найдешь, хотя если покопать:
- http://forum.nginx.org/read.php?2,223189,223198#msg-223198
- http://forum.nginx.org/read.php?2,227175,227177
- http://mailman.nginx.org/pipermail/nginx/2012-September/035447.html
кстати, сейчас тестируем штатное решение - это то, что нужно, спасибо!
В случае multipart POST запроса и штатного решения бэкенд должен будет
распарсить тело запроса из файла, также как и обычно.
В случае загрузки большого файла (речь идет про несколько гигабайт)
парсинг может занять вполне ощутимое время, в течение которого браузер
клиента будет ждать ответа.
Помимо всего прочего (подсчет хеш-сумм и возобновляемая загрузка) upload
модуль хорош тем, что этот парсинг осуществляет на лету и на бэкенд
приходит небольшое тело запроса с уже вычлененным из него файлом, что
существенно ускоряет время ответа клиенту и разгружает бэкенд.
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|