zookeeper watch
znode 변경에 따른 이벤트를 핸들링하기 위한것이라고 보시면 됩니다.
java 에서 제공하는 인터페이스를 통해서 간단히 개발하였습니다.
아래 경로를 참조하여 jar 을 만들었습니다.
https://zookeeper.apache.org/doc/r3.4.13/javaExample.html#sc_completeSourceCode
실행예시
1 | java -jar javawatcher.jar {host}:{port} {namespace} {output_file_path} {execute_file_path} |
watch 를 응용한 Application Configuration
watch 를 응용하여 분산환경에서 Application 에게 Configuration 를 전달하는 방법을 소개합니다.
구성
zookeeper server
application configuration manager
: zkCli 를 통해 znode 를 구성합니다.watch(java)
: znode 변경을 감지하고 변경된 노드의 값을 cache 에 기록합니다.cache
: 값을 캐시하는 용도입니다.application(web service)
: 웹 서비스이며 cache 에 기록된 값을 사용합니다.(출력)
흐름
docker-compose
전체적인 구성을 docker-compose 를 통해 확인해보실 수 있습니다.
https://github.com/lejewk/zk_watcher