私は現在、3つの異なるサーバで3つのmemcachedインスタンスを実行している場合があります。私のアプリケーションは現在、同じ3つの異なるノードにあります。すべてのアプリケーションサーバーはすべてのmemcachedサーバーを知っていますが、そのうちの1つがダウンすると、私は通知の方法がありません。 考えられるのは、memcachedサーバーを自分のノードに移動することです。memcachedバケットを使用してCouchbaseを把握する
私はCouchBaseをこれを解決する代替手段として検討し始めましたが、正確にはうまくいくかどうかは不明です。
アプリケーションノードごとにCouchBaseクラスタを作成し、それらを異なるmemcachedサーバーに接続すると、CouchBaseはどのサーバーが稼動しているかを監視して認識しますか?
この場合、memcachedインスタンスに現在結ばれているアプリケーションは、memcachedインスタンスの1つが停止している場合にデータを取得する方法をどのように知っていますか?それともそれを保管する場所を世話する中堅の男になるのでしょうか?
ありがとう、すべてのノードの情報の収集に関する1つの質問。これは、e.x 2のcouchbaseサーバーを持つクラスタを持つ場合、そのうちの1つに接続するだけで、2つのノードについてオブジェクトに知らせることになりますか?そして、提供されたものがダウンしたら、他のノードから取得しようとしますか? couchbaseサーバーがダウンしたときに何が起きるのだろうと思っているだけで、memcachedバケツだけでなくダウンしています。 – Nitro
最初の通信ではvbucketのリストが取得されますが、vbucket情報が更新される場所はチェックされます。通常、良いアイデアは、すべてのノードでラウンドロビンの負荷分散を行うことができるnginxのような仮想IPインターフェイスまたはプロキシを設定することです。そうすれば、ノードの1つがダウンしても、フェールオーバーをサポートするコードを変更しなくても、それらのvbucketアップデートに接続して取得することができます。その側面以外は、はい。 Couchbase SDKを使用して最初のノードと通信するとすぐに、他のすべてのサーバーについて認識し、それに応じてトラフィックを分散します。 – Drahkar