Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
контролируемый upload
- To: Garanin Michael <nginx-ru@xxxxxxxxx>
- Subject: контролируемый upload
- From: Gena Makhomed <gmm@xxxxxxxxx>
- Date: Thu, 29 May 2008 22:37:35 +0300
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=csdoc.com; s=dkim; t=1212089970; bh=cuFCeU1QoDev7TyaPBHDhxxjnebiHxmvhslLACyjHGg=; h=Date:From:X-Mailer:X-Priority:Message-ID:To:Subject:In-Reply-To: References:MIME-Version:Content-Type:Content-Transfer-Encoding; b=SPp8J9QcYt5cxUt2GBR35zwHcH2Rb/3pBaEt9TrMaIrdqRVo7le9miEi7Q7YELdio nckJx/hjk5Laxe5uRY9e7SIIBpoSq8zwsXTPG0Cfh1Mk+t8yISLKCO3hkTKfl1BRMYY VIL8+qxIePDYrK1tNPRy962NkDVAT7GVj0DCZRE=
- In-reply-to: <483E7AEC.7050103@xxxxxxxxx>
- References: <483E7AEC.7050103@xxxxxxxxx>
On Thursday, May 29, 2008 at 12:44:12, Garanin Michael wrote:
GM> Хочу реализовать такую схему "контролируемого upload'а":
GM> nginx (host1) принимает upload-запрос от юзера (файл 10M)
GM> и пробрасывает его на app-сервер (host2) которому файл этот
GM> вообще ненужен, но он по определённому правилу определяет
GM> на какой сервер обработки файлов (host3) послать файл дальше,
GM> путём записи в X-Accel-redirect соответствующего location.
GM> Объясните пожалуйста, у меня файл(10M) будет "скакать"
GM> по какому пути "host1->host2->host1->host3"
GM> или всё же по "host1->host3" ?
GM> А может есть более оптимальная схема?
более оптимальная схема: пересылать $request_body (файл 10М)
между серверами не два-три раза, а один раз: frontend => backend.
например, nginx на host1 принимает файл и сохраняет его на диске,
там же находится обработчик http запроса в виде fastcgi или mod_perl.
дальше обработчик делает запрос к host2 и на основании полученного
от него ответа пересылает файл на один из backend`ов обработки файлов.
http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#client_body_in_file_only
--
Best regards,
Gena
|