8000 Object Consistency · frugalos/frugalos Wiki · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Object Consistency

Shinya Yamaoka edited this page Jan 21, 2020 · 1 revision

整合性とは

オブジェクトを取得する際に保証するオブジェクトの一貫性を指定するもの。

背景

従来はオブジェクトの取得時に強整合性(オブジェクトを取得する際に常に最新状態のみが参照されるという意味。具体的には frugalos のリーダーノードのみがリクエストに応答することで実現される。)しかサポートしていなかった。この制約により frugalos プロセスを再起動などしてリーダーノードが再選出されている間は一時的にオブジェクトを取得できなくなっていた。この挙動は、クラスタが利用不可になる期間が発生するため、例えば無停止での更新を実現する上で困ることがある(更新系の操作は依然実行できないが)。

整合性指定の種別

consistent: 常にリーダーノードだけが応答を返す。

stale: frugalos クラスタ内の 1 ノードのオブジェクトインデックスを参照し、そのノードの結果が返ってくる。

quorum: frugalos クラスタ内の過半数のノードのオブジェクトインデックスを参照し、最新のバージョンを持つノードの結果が返ってくる。

subset: frugalos クラスタ内の N ノードのオブジェクトインデックスを参照し、最新のバージョンを持つノードの結果が返ってくる。

指定方法

クエリパラメーターの consistencysubset に値を指定する。

例:

GET /v1/buckets/*/objects/*?consistency=consistent
GET /v1/buckets/*/objects/*?consistency=subset&subset=2
Clone this wiki locally
0