質問
ファイル提供の信頼性と拡張性を確認するにはどうすればよいですか?どれくらいの並列リクエストを処理できますか?
私はハードウェアの能力と帯域幅を超えて考えています。
私はフォローしています Java サーブレットでの大きなファイルのストリーミング
解決
それらが静的ファイルの場合は、それにリンクするだけです 直接. 。すべてのまともなサーブレットコンテナ/アプリサーバーには、よく開発された DefaultServlet
. 。それらが静的ファイルである場合 外 リンク先の Web アプリケーションを作成した場合は、それらのファイルのルート フォルダーを別のコンテキストとして追加することもできます。どのサーバーを使用しているかは不明ですが、Tomcat であれば、新しいサーバーを追加するだけで済みます。 <Context>
に server.xml
:
<Context docBase="/path/to/static/files" path="/files" />
このようにして、次の方法でアクセスできます http://example.com/files/...
.
これらが動的に生成されたファイル、またはデータベースから取得されたファイルである場合は、IO ジョブを効率的に実行するサーブレットを開発する必要があります。つまりデータ全体を不必要にメモリに保存しないでください (例:で ByteArrayInputStream
または byte[]
出力に出力する前に。バイトを書き込むだけ すぐに 入力されたとおりに出力します。こういった例が見つかるかもしれません 基本的なファイルサーブレット そしてさらに 高度なファイルサーブレット (履歴書のサポートなど)便利です。
他のヒント
あなただけのただのApacheを使用してファイルシステムから静的ファイルを提供している場合 - あなた自身を書きます何でも、その後、より良いことになるだろう。
。