2012-04-05 90 views
1

我正在嘗試解決上傳到我們網站基礎結構的問題。通過HTTP代理緩衝上傳

當用戶將媒體上傳到我們的網站時,它會通過代理(通過我們的Web代理層)到具有有限數量線程的Java後端。當用戶連接速度較慢或上傳量較大時,會導致其中一個Java線程長時間打開,從而降低整體容量。

爲了緩解這個問題,我想實現一個'上傳代理',它將接受上傳的整個HTTP POST數據,並且只有當它接收到所有數據時,它纔會將該POST快速代理到Java後端,推動上傳線程保持對HTTP代理開放的問題。

最初我發現Apache Traffic Server有一個'buffer_upload'插件,但它看起來有點流血,並且不支持URL中的正則表達式,雖然它可以解決我的大部分問題。

有誰知道代理產品能夠做我建議的(除了Apache流量服務器)嗎?我看到,Nginx已經相當詳細地爲代理設置了緩衝區設置,但是在打開後端連接/線程之前,似乎沒有(從docs/explain)等待整個POST。我有這個權利嗎?

乾杯,

回答

0

其實,nginx的打開到後端的連接之前總是緩衝區請求。可以使用proxy_buffering關閉響應緩衝或爲每個響應緩衝控制設置X-Accel緩衝響應標頭。