0

こんにちは

大量のデータを保持し、リクエストクエリに従ってそれらを提供するキャッシュサーバー(Java + Lucene Frameworkで作成)があります。

基本的には次のように機能します。

  1. 起動時に、DB に接続し、すべてのテーブルを RAM に保存します。
  2. リクエストをリッスンし、適切なデータを配列リスト (約 1000 ~ 20000 行) として提供します。
  3. ユーザーが Web ページにアクセスすると、キャッシュ サーバーに接続して要求し、サーバーの応答を表示します。

メモリの問題のため、Web アプリケーションとキャッシュ アプリケーションを別のインスタンスで実行することを計画しました。Cache Server は as service で、Web は Tomcat 上にあります。

Web サイドとキャッシュ サーバー間の通信をどのように構築するかについて、あなたの提案は何ですか?

あるインスタンスから別のインスタンスに配列リストを含む大量のデータを渡す必要があります。Web サービス (xml 通信)、nio ソケット通信 (おそらく Apache MINA)、または CORBA のようなソリューションを考える必要がありますか?

ありがとう。

4

1 に答える 1

1

それは、指定していない考慮事項に大きく依存します。

  1. クライアントとは何ですか?たとえば、クライアントが AJAX を実行している JavaScript である場合、明らかに HTTP 経由のものが独自の UDP ソリューションよりも便利です。
  2. どのネットワークで動作していますか? ローカル ネットワークはインターネットとは異なる動作をし、モバイル インターネットは両方とはまったく異なります。
  3. キャッシングをどの程度精巧に使用できるでしょうか。HTTP を使用すると、クライアント キャッシュとネットワーク キャッシュの両方を (HTTP ヘッダーを介して) 適切に制御でき、両方を利用できる多数の既存のソフトウェアを使用できます。

他にも考慮すべき考慮事項が多数あり、より一般的なニーズに適合するシステムの既存の実装が多数あります。あなたが提供した(あまり詳細ではない)説明から、Redisをご覧になることをお勧めします。

于 2012-11-22T15:33:47.460 に答える