私は Web アプリケーション (単純な Web アプリケーション アーカイブ ファイル) を持っています。これには、さまざまなストレージ タイプ用の複数のストレージ アダプターがあります。MongoDB と CouchDB。このアプリケーションを使用することで、作成した Web サービスを使用してこれらのデータベースにデータを保存/クエリできます。現在、アプリケーションごとに 1 つのデータベース インスタンスしか持つことができず、並列処理を妨げる複数のインスタンスを持つことはできません。
私が望むのは、アプリケーションを複数のマシンで実行することです。その上で、クライアントがデータベースの種類/アドレスを知らなくてもデータを保存/クエリできるようにする UI を作成したいと考えています。
2 つの異なるシナリオがあり、どちらがより良い方法で、その理由をお聞きしたいと思います。
1) 3 つの単一データベース (couchdb) を実行している 3 つのサーバーがあるとします。アプリケーションをこれらのサーバーにアップロードし、UI またはアプリケーションの上のレイヤーを使用してサーバーのマップを定義し、データの保存とクエリを実行できます。
上記のように、データベースとアプリケーションは同じサーバーにあるため、リモートです。
2) 3 つのサーバーがまだリモートで実行されているとしますが、この場合、私のアプリケーションはローカルです。そして、複数のデータベース インスタンスを受け入れるようにしました。
その場合、アプリケーションを拡張する必要はないので、実際には最初のものを好みますが、それについてどう思うか聞きたかった. その種の分散シナリオのソースを提供していただければ幸いです-私はその種のものについてまったく経験がありませんでした。