금요일, 2월 21, 2020
Home Linux zookeeper Watch Java Example

zookeeper Watch Java Example

zookeeper Watch Java Example

Watches

zookeeper는 watch의 개념을 지원합니다 . 클라이언트는 znode에서 watch를 설정할 수 있습니다.
znode가 변경되면 watch가 트리거되고 제거됩니다.
watch가 트리거되면 클라이언트는 z 노드가 변경되었음을 알리는 패킷을 수신합니다.
클라이언트와 zookeeper 서버 중 하나의 연결이 끊어지면 클라이언트는 로컬 알림을받습니다. 

참조 : http://zookeeper.apache.org/doc/r3.4.10/javaExample.html

zookeeper Java API를 소개하기 위해 아주 간단한 watch클라이언트를 개발했습니다.
이 zookeeper 클라이언트는 zookeeper 노드가 변경되는지 감시하고 프로그램을 시작하거나 중지하여 이에 응답합니다.

 

일반적으로 zookeeper 응용 프로그램은 연결을 유지하는 장치와 데이터를 모니터링하는 장치의 두 가지로 나뉩니다. 이 응용 프로그램에서 Executor 라는 클래스 는 zookeeper 연결을 유지하고 DataMonitor 라는 클래스 는 zookeeper 트리의 데이터를 모니터링합니다. 또한 Executor는 메인 스레드와 실행 로직을 포함합니다. znode의 상태에 따라 사용자 상호 작용이 거의없고 인수로 전달한 실행 가능한 프로그램과의 상호 작용 및 요구 사항에 따라 샘플이 종료 및 재시작되는 것도 담당합니다.

 

아래의 JAVA 예제는 zookeeper node에 /znode 을 생성된 상태에서 /znode의 data값이 수정되었을때 watch 모니터링에 대한 구현입니다.

Executor Class

DataMonitor Class

아래는 Executor.java 를 실행한 화면입니다.

Executor.java를 실행후 zkCli 를 이용하여 /znode의 값을 아래와 같이 수정합니다.

zkCli 를 이용하여 /znode의 값을 수정후 아래와 같이 감시 이벤트를 발생하여 /znode의 값을 출력합니다.

 

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Time limit is exhausted. Please reload the CAPTCHA.

최신글

에픽게임즈 – aztez

Aztez는 아즈텍 제국의 세계를 바탕으로 격투기와 턴제 기반 전략을 혼합한 독특한 게임입니다. 고도로 기술적인...

인기글

Tvheadend 4.4.20171030 로그인 문제 해결방법

Tvheadend 4.4.20171030 로그인 문제 해결방법 tvheadend-testing 4.4.20170707-3 를 설치하게 되면 sc-media 라는 그룹이 생성됨. 아래와 같이 tvheadend 로그인 사용자를 sc-media 그룹에 추가 permission 수정 chown -R sc-tvheadend:tvheadend-testing /var/packages/tvheadend-testing vi...

[이클립스] console 출력 제한 해제

이클립스 console 출력 제한 해제 1.limit console output 체크를 해제하시면됩니다.

DB접속정보 암호화 Spring 및 프로퍼티 설정

DB접속정보 암호화 Spring 및 프로퍼티 설정 Spring으 DataSource이용하다보면 DB 접속 User, password를 설정화일에 그대로 노출되는 경우가 보안에 너무 취약하게 됩니다. jasypt 을 이용하여 password부분 암호화에 대하여 설명하겠습니다. 1. 다운로드 http://www.jasypt.org/download.html에서...

Java 정규표현식으로 문자, 숫자, 특수문자의 조합 패턴 체크

Java 정규표현식으로 문자, 숫자, 특수문자의 조합 패턴 체크