Zookeeper란?

분산 환경에서 서버 간의 상호 조정이 필요한 다양한 서비스를 제공하는 시스템

중요 역할

  1. 하나의 서버에만 서비스가 집중되지 않게 서비스를 알맞게 분산해 동시에 처리하게 해준다
  2. 하나의 서버에서 처리한 결과를 다른 서버와도 동기화해서 데이터의 안전성을 보장한다.
  3. 운영(Active) 서버에 문제가 발생해서 서비스를 제공할 수 없을 경우, 다른 대기 중인(Stand-by) 서버를 Active로 바꿔서 서비스가 중지없이 제공되게 한다 (HA)
  4. 분산 환경을 구성하는 서버의 환경설정을 통합적으로 관리한다

분산시스템 역할

분산 시스템의 코디네이션 작업

  • 개발자가 비지니스 로직 개발에 집중하도록 해줌
  • 코디네이션 작업은 여러 프로세스에 대한 것
  • 프로세스 들 간의 협력이나 경합을 조절
    • 협럭: 프로세스들이 작업을 함께 수행하고 다른 프로세스가 진행될 수 있도록 어떤 일을 해야하는 것을 의미
    • 경합: 두 프로세스가 동시에 진행될 수 없는 상황

주키퍼 장점

  • 일관성, 순서, 내구성 보장
  • 동기화 기본 요소를 구현
  • 동시성 관련 문제를 해결하는 단순화된 해볍 제공
  • 어플리케이션 데이터와 Coordination 데이터를 분리
  • 파일시스템 API와 유사한 단순 API 제공 구조

구조

앙상블 서버로 구성

  • zk서버는 앙상블로 구성 되어 장애처리와 대규모 처리가 가능하다

아키텍쳐- 마스터워커

  • 워커는 자신이 일을 할 수 있는 상태임을 마스터에게 알리고
  • 마스터는 워커에게 작업을 할당한다
    • (경합활동에 해당)

results matching ""

    No results matching ""