Буферизированная загрузка через HTTP Proxy

Я пытаюсь решить проблему с загрузкой на нашу веб-страницу.

Когда пользователь загружает мультимедиа на наш сайт, он передается (через наш уровень веб-прокси) на серверную часть Java с ограниченным числом потоков. Когда у пользователя медленное соединение или большая загрузка, один из потоков Java остается открытым в течение длительного периода времени, что снижает общую емкость.

Чтобы смягчить это, я хотел бы реализовать "прокси-сервер загрузки", который будет принимать все данные HTTP POST загрузки и только когда он получит все данные, он быстро проксирует этот POST на серверную часть Java, что поднимает проблему поток загрузки остается открытым для HTTP-прокси.

Изначально я обнаружил, что в Apache Traffic Server есть плагин "buffer_upload", но он выглядит немного устарелым и не поддерживает регулярное выражение в URL, хотя это решило бы большинство моих проблем.

Кто-нибудь знает прокси-продукт, который сможет делать то, что я предлагаю (кроме Apache Traffic Server)?

Я вижу, что Nginx имеет довольно детализированные настройки буфера для прокси, но не похоже (из документации / объяснений) ждать полного POST, прежде чем открывать внутреннее соединение / поток. У меня есть это право?

Ура,

Тим

1 ответ

На самом деле, nginx всегда буферизует запросы перед открытием соединения с бэкендом. Можно отключить буферизацию ответов, используя http://nginx.org/r/proxy_buffering или установив заголовок ответа X-Accel-Buffering для управления буферизацией для каждого ответа.

Другие вопросы по тегам