2017-10-05 8 views
1

저는 자물쇠 (InterProcessMutex)를 보유하는 동안 일부 사육사 (영구) 노드를 생성/업데이트/삭제하는 사육사 클라이언트라고 가정합니다. 내가 그것을 풀어 놓은 후에 같은 잠금을 얻는 다른 클라이언트가 내 수정을 볼 수 있도록 보장합니까?아파치 큐레이터가 잠기고 전에 발생합니다

각 사육사 서버의 노드 업데이트 후 잠금 해제가 발생하지만 모든 사람이이 가정을 확인할 수 있으므로 대답은 '예'라고 가정합니다.

답변

2

의이를 통해 도보 (클라이언트 A와 B 사용) 보자 :

  1. A와 B가 잠금을 주장하고 그것을 획득을
  2. B는 이제 잠금 뛰어난 시계를 가지고
  3. 수정 일부 ZNodes
  4. A는 통보됩니다 (큐레이터에 의해 관리)
  5. B의 잠금 감시자 (자신의 잠금 ZNode을 삭제하는 것을 의미) 잠금을 해제

5 단계에서 B는 ZooKeeper가 메시지 순서를 보장함에 따라 A의 잠금 노드가 삭제되기 전에 발생한 모든 수정 사항을 볼 수 있습니다. 따라서 귀하의 질문에 대한 대답은 예입니다.