2017-10-05 11 views
1

私は、ロックを保持している間に、いくつかの動物園(永続的)ノードを作成/更新/削除する動物園のクライアントだとします(InterProcessMutex)。私はそれをリリースした後、同じロックを取得する別のクライアントが私の変更を参照してください保証されていますか?Apache Curatorロックが発生してから先に発生する

各動物園のサーバーでノードの更新が行われた後にロックの解除が行われるため、答えは「はい」としますが、誰でもこの前提を確認できますか?

答えて

2

(クライアントAとBを使用した)のは、この中を歩くと見てみましょう:

  1. AとBがロックを争うとAはBが今ロック
  2. に優れた時計を持っている
  3. それを取得し、修正いくつかのZNodes
  4. Aが通知され(キュレーターによって管理される)
  5. Bのロック・ウォッチャー(彼のロックのznodeを削除することを意味)のロックを解除し

ステップ5では、ZooKeeperがメッセージの順序付けを保証するため、ロックノードが削除される前に発生したすべての変更を確認することが保証されています。だから、あなたの質問に対する答えはYesです。

関連する問題