1

我有一个将位于 Amazon EC2 实例的 tomcat 服务器。它将为大约 10000 个客户端的文件下载请求提供服务。

Each client will follow the steps to download some files:
(1) Send request to Tomcat to check if need to update files
(2) Tomcat will send the file list to client if any
(3) Client will download the file list via HTTP servlet.

基本上我们希望在Tomcat服务器高负载时实现目标(由于带宽/会话限制等),Tomcat会向客户端请求返回一个INTERVAL,然后客户端将等待INTERVAL时间重新发送下载请求。有没有什么好的方法来设计这样的风景?

4

1 回答 1

1

您应该查看 HTTP Cache 控件和 Range 标头来帮助管理它。这对于你想做的事情来说几乎是死气沉沉的。

如果您使用的是静态文件(即 Tomcat 将直接提供服务的文件与通过 Servlet 或其他类似事物生成的一些动态内容),那么 Tomcat 将自动为您提供 Range 标头。

游戏是,您的客户端必须发出实际使用 Range 标头的 HTTP 请求,并且客户端必须是限制连接的客户端。

如果您的客户愿意承担这个责任,那么开箱即用的 Tomcat 应该可以正常工作,只需通过服务器发布文件系统目录即可。开箱即用,它将显示目录中文件的列表,然后您可以使用 Caching 标头来确定发生了什么变化,并使用 Range 标头来打包内容。

于 2012-05-24T04:03:00.977 回答