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

我正在思考超越硬件能力和带宽的问题。

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

有帮助吗?

解决方案

如果这些是静态文件,只需链接到它 直接地. 。所有像样的 servlet 容器/应用程序服务器都有一个成熟的 DefaultServlet. 。如果这些是静态文件位于 外部 您将它们链接到的网络应用程序,那么您也可以将这些文件的根文件夹添加为另一个上下文。目前尚不清楚您使用的是哪个服务器,但如果是 Tomcat,您只需添加一个新服务器即可 <Context>server.xml:

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

这样就可以通过以下方式访问 http://example.com/files/....

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

其他提示

如果你只是从文件系统提供静态文件,只是使用Apache - 这将是更好的东西,然后你会自己写

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top