GoogleのChubby分散ロックマネージャには、ZooKeeperを使ってエミュレートしたいシーケンサーという機能があります。そうすることが知られていますか?ZooKeeperでChubbyスタイルのロックシーケンサーを実装する方法は?
次のようにシーケンサーが動作します。
- クライアントリソースのロックを取得し
- クライアントは
- クライアントがへの呼び出しを行い、いくつかのメタデータを含む文字列であることのロックのシーケンサーを、要求サービスを呼び出し、シーケンサーをパラメーターとして渡します
- サービスはシーケンサーを使用して、要求を処理する前にクライアントがまだロックを保持していることを確認します
目的は、ロックによって保護されなければならないリモートサービスを呼び出した後にクライアントが死亡することを防ぐことです。
Chubbyのメインペーパーはです。シーケンサーについては、2.4節で説明します。
ありがとうございます!
ありがとうございました。どういうわけか私はシーケンス番号が単調増加しているという事実を忘れてしまった。 –
シーケンサーは必須ロックを実装する方法ですか? – ady