Zookeeper

오민석·2022년 6월 18일
0

주키퍼란

분산 어플리케이션에서 사용되는 코디네이션 시스템으로, 안정적인 서비스할 수 있도록 분산 된 어플리케이션을 중앙에서 관리

Server는 주키퍼, Client는 하둡,카프카 등

znode


상태정보들은 znode에 key-value형태로 저장되어, znode에 저장된 것을 분산 어플리케이션은 주고 받는다. 데이터는 모두 메모리에 저장되어 빠르다. Leader가 follower에게 동기회 명령을 내린다.

Quorum

앙상블에서 과반수 서버로 이루어진 그룹이다. 한 서버에서 일어난 변경이 앙상블 내의 다른 서버로 전파되어 복제될 때, 복제가 이용가능한 수준까지 이루어졌다는 최소 기준. (Leader가 새로운 트랜잭션 수행하기 위한)그렇기 때문에 홀수가 되어야 한다.

Watcher

ZooKeeper 클라이언트가 특정 znode에 watch를 걸어놓으면, 해당 znode가 변경이 되었을때, 클라이언트로 callback 호출을 날려서 클라이언트에 해당 znode가 변경이 되었음을 알려준다. 그리고 해당 watcher는 삭제 된다

Reference
https://data-engineer-tech.tistory.com/4
https://dabingk.tistory.com/7
https://velog.io/@koo8624/%EB%B6%84%EC%82%B0-%EC%8B%9C%EC%8A%A4%ED%85%9C-Apache-Zookeeper
https://sungwookkang.com/1434

0개의 댓글