Google の Chubby 分散ロック マネージャーには、ZooKeeper を使用してエミュレートしたい「シーケンサー」と呼ばれる機能があります。そうするための既知の良い方法はありますか?
シーケンサーは次のように機能します。
- クライアントがリソースのロックを取得する
- クライアントはロックのシーケンサーを要求します。これは、いくつかのメタデータを含む文字列です。
- クライアントはサービスを呼び出し、シーケンサーをパラメーターとして渡します
- サービスはシーケンサを使用して、リクエストを処理する前にクライアントがまだロックを保持していることを確認します
目標は、ロックで保護する必要があるリモート サービスを呼び出した後にクライアントが停止する状況を防ぐことです。
Chubby に関する主な論文は、http://research.google.com/archive/chubby.htmlで入手できます。シーケンサーについては、セクション 2.4 で説明します。
ありがとう!