1

我正在尝试解决上传到我们网络基础设施的问题。

当用户将媒体上传到我们的站点时,它被代理(通过我们的 Web 代理层)到具有有限线程数的 Java 后端。当用户的连接速度较慢或上传量很大时,这会使其中一个 Java 线程长时间打开,从而降低整体容量。

为了缓解这种情况,我想实现一个“上传代理”,它将接受上传的整个 HTTP POST 数据,并且只有当它收到所有数据时,它才会将该 POST 快速代理到 Java 后端,从而推动问题上传线程对 HTTP 代理保持开放。

最初我发现 Apache Traffic Server 有一个“buffer_upload”插件,但它似乎有点前沿,并且不支持 URL 中的正则表达式,尽管它可以解决我的大部分问题。

有谁知道能够执行我建议的代理产品(除了 Apache Traffic Server)?

我看到 Nginx 有相当详细的代理缓冲区设置,但似乎(来自文档/解释)在打开后端连接/线程之前等待整个 POST。我有这个权利吗?

干杯,

蒂姆

4

1 回答 1

0

实际上,nginx总是在打开与后端的连接之前缓冲请求。可以使用proxy_buffering或为每个响应缓冲控制设置 X-Accel-Buffering 响应标头来关闭响应缓冲。

于 2012-04-05T23:45:32.120 回答