Java 可靠的数据服务

Java 可靠的数据服务,java,servlets,fileserver,Java,Servlets,Fileserver,如何确保我的文件服务可靠且可扩展?它可以处理多少并行请求 我考虑的不仅仅是硬件能力和带宽 如果您只是从文件系统提供静态文件,请使用Apache,这将比您自己编写的任何文件都要好。如果这些文件是静态文件,请直接链接到它。所有像样的servletcontainers/AppServer都有一个完善的DefaultServlet。如果这些是位于Web应用程序之外的静态文件,您可以从中链接它们,那么您也可以将这些文件的根文件夹添加为另一个上下文。不清楚您使用的是哪台服务器,但如果它是Tomcat,您可以

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

我考虑的不仅仅是硬件能力和带宽


如果您只是从文件系统提供静态文件,请使用Apache,这将比您自己编写的任何文件都要好。

如果这些文件是静态文件,请直接链接到它。所有像样的servletcontainers/AppServer都有一个完善的
DefaultServlet
。如果这些是位于Web应用程序之外的静态文件,您可以从中链接它们,那么您也可以将这些文件的根文件夹添加为另一个上下文。不清楚您使用的是哪台服务器,但如果它是Tomcat,您可以在
server.xml中添加一个新的

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

这样就可以通过
http://example.com/files/...


如果这些是动态生成的文件或来自数据库的文件,那么您需要开发一个有效执行IO任务的servlet:即不要不必要地将整个数据存储在内存中(例如,在
ByteArrayInputStream
byte[]
在将字节发送到输出之前。只需将字节立即写入输入的输出中即可。您可能会发现这些示例包括a和a更多(支持简历等)有用。

Hi@BalusC,9年后,我找到了这个答案。如果我需要在服务器上执行缩放或其他处理,然后再发送给用户,即从数据库中获取图像。在这样做之前,我将无法避免将整个图像加载到内存中。客户端可能会请求一个缩略图,一个平均大小的ima通用电气、完整图像等。