분산 Application을 사용하게 되면, 분산 Application 관리를 위한 안정적인 코디네이션 Application이 추가로 필요하게 된다.
Zookeeper는 본래 Hadoop의 서브 프로젝트 중 하나였다.
대용량 분산 처리 Application인 Hadoop은 중앙에서 분산 Application을 관리하는 코디네이션 Application이 필요했기에 서브 프로젝트로서 Zookeeper 개발 작업을 진행하였다.
Kafka는 분산 Application의 한 종류로서 Zookeeper를 코디네이션 로직으로 이용하고 있다.
주키퍼는 분산 Application을 위한 코디네이션 시스템이다. 분산 Application이 안정적인 서비스를 할 수 있도록 분산되어 있는 각 Application의 정보를 중앙에 집중하고 구성 관리, 그룹 관리 네이밍, 동기화 등의 서비스를 제공한다.
Zookeeper 서버들과 각각 클라이언트(분산 Application) 커넥션을 맺은 후, 상태 정보등을 주고받게 된다.
상태 정보들은 Zookeeper의 지노드라고 불리는 곳에 Key - Value 값 형태로 저장하고, 지노드에 Key - Value 값이 저장된 것을 이용하여 분산 Application들은 서로 데이터를 주고 받게 된다.
Zookeeper에서 사용되는 지노드는 데이터를 저장하기 위한 공간 이름을 말하는 것이다.
Zookeeper 다운로드를 위해 아파치 주키퍼(https://zookeeper.apache.org/)사이트로 이동한다.

