如何确保我的文件服务可靠且可扩展?它可以处理多少个并行请求?
我正在考虑超出硬件功能和带宽。
我正在关注在JavaServlet中流式传输大文件
如果这些是静态文件,则 直接 链接到它。所有不错的servlet容器/应用服务器都有完善的DefaultServlet。如果这些是静态文件,这些静态文件位于您要链接到的Web应用程序 之外 ,那么您也可以仅将这些文件的根文件夹添加为另一个上下文。目前还不清楚你正在使用的服务器,但如果它是Tomcat的,你可以只添加一个新的<Context>来server.xml:
DefaultServlet
<Context>
server.xml
<Context docBase="/path/to/static/files" path="/files" />
这样可以通过进行访问http://example.com/files/...。
http://example.com/files/...
如果这些是动态生成的文件或来自数据库的文件,那么您需要开发一个可以有效执行IO工作的servlet:即,不必将整个数据不必要地存储在内存中(例如,在将它们发送到输出之前ByteArrayInputStream或byte[]之后)。
ByteArrayInputStream
byte[]