私は中央ファイルシステム上にLuceneインデックスを持っています。私のIISアプリケーションでは、インデックスをクエリするメソッドと、インデックスを更新するメソッドがあります。IISの共有リソースに対する複数の要求を処理するために使用するデザインパターンは何ですか
インデックスを更新するには、変更が確定するまでファイルをロックする必要があります。これを実装する際の私の問題は、良い並行性を維持するために最良のデザインパターンを選択することです。
静的オブジェクトに関するロックを使用する静的アップデータクラスを使用することをお勧めしますか? ロックがアクティブな間に別のインデックスの更新要求が出された場合、要求は 'wait'か、それとも例外を返しますか?待つことができない場合は、一連の操作でスレッドセーフなFIFO型オブジェクトを実装して、順次実行する必要がありますか?
したがって、Windowsサービスであっても、依然として同時要求を処理できる必要があります。私はそれを処理する最善の方法が何であるか疑問に思っています。 – Matt
私が言っていることは、サーバーが単に典型的なウェブサイトの使用時間から更新を行うことです。ユーザーへの影響を軽減できます。 –
Nah、ライブが発生します – Matt