1

私の質問の続きで、クライアント サーバー アーキテクチャ アプリケーションのパフォーマンスを向上させる方法

集中型データベースといくつかのスレーブ サーバー データベース構成を維持することにしました。スレーブ データベースとマスター データベース間のレプリケーションにSymmetric DSを使用する予定です。各サーバー データベース構成は、クライアントの近くにインストールされます。理想的には、明らかな理由から、クライアントからのリクエストを最も近いスレーブサーバーデータベースにルーティングする必要があります。サーバーへの接続に RMI を使用しているため、現在利用可能な製品/API があるかどうかを知りたいのですが、これで解決できますか?

上記以外のソリューションは高く評価されています:)

注: クライアント コードのリファクタリングは間違いなく 1 つの代替手段ですが、アプリケーションが非常に大きいため、大きなリスク (既存のコードが破損する可能性がある)、時間と費用がかかります。

4

1 に答える 1

1

分散ハッシュとコンシステント ハッシュを見てみましょう。

http://en.wikipedia.org/wiki/Distributed_hash_table#Keyspace_partitioning http://en.wikipedia.org/wiki/Consistent_hashing

最低限、クライアントの識別子(「キー」の代わりに)を取得し、最も近いサーバーを見つける一貫したハッシュのバリアントをセットアップします。ここでのボーナスの利点は、スレーブの 1 つがダウンした場合、インフラストラクチャが次に近いサーバーに透過的にルーティングされることです。

于 2009-05-05T11:40:26.917 に答える