私たちは巨大な写真はアーカイブのための検索エンジンとのLuceneを使用して、ウェブサイト持ってWindowsマシン上で2つの.NETサービスを相互接続する最善の方法は何でしょうか?
... 2台のネットワーク上のWindowsサーバ間での情報交換の最高/効果的な方法であるもののいくつかの提案を探しています同一の(最初の)Windowsサーバー上でホストされているインデックスと、ユーザー用の検索エンジンクライアントとして機能するApacheベースのWebサイトがあります。
Windowsサービスで処理されている新しい画像を追加し、メタデータを抽出し、サムネイルを作成し、Luceneインデックスを最初のサーバー...
Windowsサービスは、基本的にFileSystemWatcherコンポーネントを使用して、追加されているファイル(千単位)や削除されたファイルを追跡し、検索エンジンのインデックスを更新して、私たちのエンドユーザに見えるようにする)、ファイルの削除イベントに基づいてインデックスから削除する...
更新(通知)するために使用するメソッド、おそらくローカルの小さなインデックスを作成し、主なものとマージする...私は、システムをより効率的にアップグレードし、数千の画像で作業できるようにするためにシステムをアップグレードしていますできるだけ早く索引を更新してください。 2台のサーバがネットワークに接続されていると私は単純にメインのLucene indexeのフォルダを共有することができます:私たちは私たちのメインサーバと通信し、それのインデックスを更新するために、カスタム(ランダムに選ばれた)ポートにNetTcpBindingとWCFを使用しますが、現在のバージョンで
私たちの2番目のサーバーに表示されるようになりました。今私はこのオプションに向かって傾いています。これはあまり柔軟ではありませんが、おそらくネットワークの状態(設定)は変更されません(+設定ファイルを提供します)。
他に何が使えますか? :) MSMQ、IIS(Webサービス)?、WCF(再び..?)現時点では、FileSystemWatcherコンポーネントを完璧に(ファイルを見逃すことなく)動作させ、信頼性の高い画像を処理することに集中しています。すぐに私はこの "ネットワーク"の部分に来るでしょう...
すべてのアイデアは非常に高く評価されます。 (このような質問は申し訳ありませんが、今度は本当に良いアイデアを見逃したくありません)、事前に感謝します!
実際に解決する問題はありますか? –
実際の問題についてここでは説明しませんでしたか?私の問題は、あるサーバーでホストされているLuceneインデックスを更新する最も効率的な方法を選択することです。第2のサーバーで生成されたデータによって、両方とも同じネットワーク。 – Denis