-
Notifications
You must be signed in to change notification settings - Fork 25
Object Consistency
Shinya Yamaoka edited this page Jan 21, 2020
·
1 revision
オブジェクトを取得する際に保証するオブジェクトの一貫性を指定するもの。
従来はオブジェクトの取得時に強整合性(オブジェクトを取得する際に常に最新状態のみが参照されるという意味。具体的には frugalos のリーダーノードのみがリクエストに応答することで実現される。)しかサポートしていなかった。この制約により frugalos プロセスを再起動などしてリーダーノードが再選出されている間は一時的にオブジェクトを取得できなくなっていた。この挙動は、クラスタが利用不可になる期間が発生するため、例えば無停止での更新を実現する上で困ることがある(更新系の操作は依然実行できないが)。
consistent
:
常にリーダーノードだけが応答を返す。
stale
:
frugalos クラスタ内の 1 ノードのオブジェクトインデックスを参照し、そのノードの結果が返ってくる。
quorum
:
frugalos クラスタ内の過半数のノードのオブジェクトインデックスを参照し、最新のバージョンを持つノードの結果が返ってくる。
subset
:
frugalos クラスタ内の N ノードのオブジェクトインデックスを参照し、最新のバージョンを持つノードの結果が返ってくる。
クエリパラメーターの consistency
と subset
に値を指定する。
例:
GET /v1/buckets/*/objects/*?consistency=consistent
GET /v1/buckets/*/objects/*?consistency=subset&subset=2