可靠的数据服务

时间:2009-10-01 09:13:12

标签: java servlets fileserver

如何确保我的文件服务可靠且可扩展?它可以处理多少个并行请求?

我正在考虑超出硬件功能和带宽。

我正在关注Streaming large files in a java servlet

2 个答案:

答案 0 :(得分:3)

如果这些是静态文件,只需直接链接到 即可。所有体面的servletcontainers / appservers都有一个发展良好的DefaultServlet。如果这些是位于外部的外部的静态文件,那么您可以将这些文件的根文件夹添加到另一个上下文中。目前还不清楚你正在使用哪个服务器,但如果它是Tomcat,你可以添加一个新的<Context>server.xml

<Context docBase="/path/to/static/files" path="/files" />

这种方式可以通过http://example.com/files/...访问。

如果这些是动态生成的文件或来自数据库的文件,那么您需要开发一个有效执行IO作业的servlet:即不要将整个数据不必要地存储在内存中(例如,在ByteArrayInputStreambyte[]在将它们发送到输出之前。只需将字节立即写入输出中。您可以找到basic fileservlet和更多{{advanced fileservlet的示例。 3}}(支持简历等)很有用。

答案 1 :(得分:0)

如果您只是从文件系统提供静态文件,只需使用Apache - 它会比您自己编写的任何内容更好。