Search:

Search all manuals
Search this manual
Manual
Couchbase Server 1.8 マニュアル
Additional Resources
Community Wiki
Community Forums
Couchbase SDKs
Parent Section
10.1 REST/JSON
Chapter Sections
Chapters

10.1.5. 冗長性と可用性

クライアントライブラリの作者は、それらのユーザーアプリケーションが、冗長性のため複数のCouchbaseクラスタ接続用URLを指定できるようにする必要があります。理想的には、ユーザーアプリケーションから、奇数個のURLを指定します。クライアントライブラリは、すべてのREST/JSONのURLからの応答を比較し、クラスタの大半が同等の設定となるのを確認することができます。同数のURLが競合するクラスタ設定を返す状況においては(クラスタ内にわずか2つのCouchbaseサーバがあり、ネットワーク分断によるスプリットブレインの問題がある場合など)、クライアントライブラリは正しくない(フェイルオーバされ、既にクラスタ外の)ノードに接続を試みるよりむしろ、ユーザに対しエラーを返すべきです。

libvBucket Cライブラリには、これらの比較をサポートするために、2つの構成を比較するためのAPIが備わっています。ここからvbucket_compare()関数を参照してください。

高度な手段として、クライアントライブラリは複数のREST/JSONストリームをオープンしておき、再構成イベントが発生した場合、ストリームされた構成設定間で前述の"多数決"比較を継続的に行うべきです。

また、クライアントライブラリは、そのREST/JSON応答から複数のクラスタノードについて"学ぶ"必要があります。たとえば、ユーザーは、マルチノードクラスタに一つのURLを指定している場合があります。その一つのノードからのREST/JSON応答には、クライアントライブラリが必要に応じて、個別にコンタクトできる他のすべてのノード一覧があります。これを利用すれば、クライアントライブラリが、たとえ最初のURL/ノードが失敗しても(クライアントライブラリが動いている限り)続行することができます。