사육사는 분산 된 데이터가 일반적인가 게시 / 모델 시스템을 구독 기능을 가입 많은 가입 한의 관계를 정의, 더 많은 가입자 수 있도록 게시 / 제공 , 주제 객체를들을 때를하는 경우 개체 자체 주제 상태 변화는 모든 가입자에게 통지합니다 때 적절한 치료를 할 수 있도록.
사육사,이 감시자 분산 알림을 구현하는 메커니즘의 도입. 사육사 감시자는 클라이언트가 서버, 이벤트가 감시자를 트리거 한 서버에 리스너를 등록 할 수 있습니다, 그것은 분산 알림을 달성하기 위해 클라이언트를 지정하는 이벤트 통지를 보내드립니다.
노드가 생성, 삭제 노드, 변경 노드, 하위 노드 및 변경 : 트리거와 같은 이벤트의 많은 종류.
전체 당직자는 다음과 같은 세 가지 과정으로 요약 될 수있다 : 클라이언트가 서버에 감시자를 등록, 서버 감시자 트리거 이벤트가 발생, 클라이언트 콜백 감시자는 트리거 이벤트를 얻을
1, 시계 메커니즘의 특징
일회용 트리거
이벤트 트리거 모니터, 감시자 이벤트가 수신하도록 설정 한 클라이언트로 전송되며,이 효과는 한 시간, 유사한 사건의 후속 재발 다시 실행되지 않습니다.
이벤트 패키지
사육사 사용 WatchedEvent는 캡슐화와 서비스 측면 이벤트를 제공하는 객체.
WatchedEvent 각 이벤트의 세 가지 기본 속성을 포함 :
알림 (keeperState) , 이벤트 유형 (이벤트 유형) 와 노드 경로 (경로)
이벤트는 비동기 전송
감시자 알림 이벤트는 클라이언트에 비동기 서버에서 전송됩니다.
다시 트리거를 등록하려면
메커니즘 사육사를보고, 먼저이 이벤트가 클라이언트로 전송 모니터링, 알림을 트리거, 클라이언트 서버에 등록 된 리스너로 이동해야합니다.
2, 알림 상태 및 이벤트 유형
이벤트 유형은 다음 표는 일반 상태 및 이벤트 알림 유형 달라 서로 다른 통지 상태에서 같은 의미를 나타냅니다.
를 Where 연결 상태 이벤트 (유형 = 없음, 경로 = NULL을 ) 클라이언트 등록이 필요하지 않습니다 로서, 클라이언트를 오랫동안 필요에 따라 라인에 직접 거래한다.
. 3, S 지옥 클라이언트 설정 감시자
노드 모니터 데이터 변경 사항을 설정합니다 :
다른 클라이언트에 의해 최종 노드 데이터를 변경 :
이 시점에서 노드를 기울인다 통지 설정 :