可靠的数据服务
我如何确保我的文件服务是可靠和可扩展的? 它可以处理多less个并行请求?
我正在考虑超越硬件能力和带宽。
我正在使用Java Servletstream式处理大文件
如果这些是静态文件,直接链接到它。 所有体面的servlet容器/ appservers有一个发达的DefaultServlet
。 如果这些文件是位于Web应用程序之外的静态文件,那么您也可以将这些文件的根文件夹添加为另一个上下文。 目前还不清楚你正在使用哪个服务器,但是如果是Tomcat,你可以在server.xml
添加一个新的<Context>
<Context docBase="/path/to/static/files" path="/files" />
这种方式可以通过http://example.com/files/...
。
如果这些是dynamic生成的文件或来自数据库的文件,那么您需要开发一个能够有效执行IO作业的servlet:即不必将整个数据存储在内存中(例如在ByteArrayInputStream
或byte[]
输出,只要将字节立即写入输出即可。您可能会发现这些基本的fileservlet和更高级的fileservlet (支持简历等)的示例很有用。
如果你只是从一个文件系统提供静态文件,只需使用Apache – 那么你将自己写的任何东西都会更好。