0

毎分大量のリクエストを処理する Spring ベースの Web アプリケーションを開発しており、この Web アプリは非常に迅速に応答する必要があります。この目的のために、フラット ファイル ベースのキューイング メカニズムを実装することにしました。このメカニズムは、リクエスト (データベース列の値のセット) をフラット ファイルに書き込むだけで、別のプロセスがフラット ファイルからこのデータを定期的に選択してデータベースに書き込みます。書き込みが完了したファイルのみをピックアップします。

フラットファイルを使用しているように、受信したリクエストごとに、コントローラーメソッド内でフラットファイルを開いたり閉じたりする必要があります。

私の質問は: このソリューションを実装するより良い方法はありますか? JMS は、現在インフラストラクチャがないため、範囲外です。このファイル ベースのアプローチが良さそうな場合、ファイル I/O を減らすためのより良い方法はありますか? 現在の設計では、受信した Web リクエストごとにフラット ファイルを開いたり、書き込んだり、閉じたりしますが、これは悪いことだとわかっています。:(

Env : SpringSource ToolSuite、バックエンドが Oracle の Apache/Tomcat。

4

1 に答える 1

0

ファイル アクセスを同期する必要があります。そうしないと、ファイルが破損します。同期アクセスは、計画している大量のリクエストと衝突します。

Kestrelなどを検討するか、 SQLiteなどのデータベースを使用してください (少なくとも、同期の負担を委任できます)。

于 2013-03-15T08:27:30.200 に答える