1

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

我正在考虑超越硬件能力和带宽。

我正在关注java servlet 中的流式传输大文件

4

2 回答 2

3

如果这些是静态文件,只需直接链接到它。所有体面的 servletcontainers/appservers 都有一个完善的DefaultServlet. 如果这些是位于Web 应用程序外部的静态文件,您可以将它们链接到,那么您也可以将这些文件的根文件夹添加为另一个上下文。目前尚不清楚您使用的是哪个服务器,但如果它是 Tomcat,您可以添加一个新<Context>server.xml

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

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

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

于 2010-04-18T14:48:11.933 回答
0

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

于 2009-10-01T18:24:34.733 回答