2

私たちは、多くのサービスとサービスを利用するアプリのセットで構成される SOA ベースのプラットフォームを持っています。各サービスは、ホスト アプリの一部となるクライアントを介してその機能を公開し、サービスを呼び出します。

ネットワーク呼び出しの数を減らすために、オブジェクトがクライアント層にキャッシュされるクライアント キャッシュ フレームワークを作成しました。クライアントは定期的にサービスをポーリングして、変更されたオブジェクトを確認し、それに応じてキャッシュを無効にします。ほとんどの場合、着信要求はクライアント キャッシュから処理されます。クライアント キャッシュに要求された項目が含まれていない場合にのみ、サービス呼び出しが行われます。

私の問題は、特定のサービス/クライアントに依存する 10 個の異なるアプリがある場合、すべてのアプリで同じキャッシュが複製され、冗長性が高すぎて、各アプリのメモリ フットプリントが大きくなることです。

ここでのオプションは何ですか?

4

1 に答える 1

0

アプリケーションと同じマシンに常駐するサービスの「フロントエンド」またはプロキシを設定できます。リモート サービスの同じ API を公開し、その内部のキャッシュを利用できます。OSGI のようなものを使用する場合でも、それを独立したコンポーネントとして展開できます。

于 2013-04-15T11:42:09.973 に答える