초보개발자

Zookeeper 본문

이론/Network

Zookeeper

___yejin 2018. 2. 25. 20:20

코디네이션 서비스 시스템(Coordination Service System)의 대표적인 서비스이다. 


이 코디네이션 서비스 서비스는 분산 시스템 내에서 중요한 상태 정보나 설정 정보 등을 유지하고 코디네이션 서비스의 장애는 전체 시스템의 장애를 유발하기 때문에, 이중화 등을 통하여 고가용성을 제공해야 한다. NoSQL의 한 종류인 Apache HBASE, 대용량 분산 큐 시스템인 kafka 등이 그 대표적인 사례이다. 분산 시스템을 코디네이션 하는 용도로 디자인 되었기 때문에, Data access가 빨라야 하며 자체적으로 장애에 대한 대응성을 가져야 한다. 


key - value 저장소에 대한 중앙 집중식 서비스로서 대규모 분산 시스템용 분산 구성 서비스, 동기화 서비스 및 명명 레지스트리를 제공하는데 사용된다. 


데이터를 디렉토리 구조로 저장하고, 데이터가 변경되면 클라이언트에게 어떤 노드가 변경됐는지 콜백을 통해서 알려준다. 데이터를 저장할 때 해당 세션이 유효한 동안 데이터가 저장되는 Ephemeral Node라는 것이 존재하고, 데이터를 저장하는 순서에 따라 자동으로 일련번호가 붙는 Sequence Node라는 것도 존재한다.


주요 기능

  • 신뢰할 수 있는 시스템
  • 간단한 아키텍처
  • 빠른 처리
  • 확장성

아키텍처
  • 노드: 클러스터에 설치된 시스템
  • Znode: 클러스터의 다른 노드에 의해 상태가 업데이트되는 노드
  • 클라이언트 응용 프로그램: 분산 응용 프로그램과 상호 작용하는 도구
  • 서버 응용 프로그램: 클라이언트 응용 프로그램이 공통 인터페이스를 사용하여 상호 작용할 수 있게 함
클러스터의 서비스는 복제되고 두 대의 컴퓨터에 저장되며 각각의 컴퓨터는 메모리 내 데이터 트리 및 트랜잭션 로그의 이미지를 유지 관리한다. 서버는 여러 클라이언트 응용 프로그램에 연결되며 요청 및 응답을 보내고 받으며 이벤트를 모니터링 하기 위한 TCP 링크를 설정한다. 
 



참고


'이론 > Network' 카테고리의 다른 글

Nginx  (0) 2018.02.25
CDN(Content Delivery Network)  (0) 2018.02.25
[용어정리] LoRa, LTE-M, NB-IoT  (0) 2017.06.27
Comments