ZooKeeper

ZooKeeper

libzookeeper 라이브러리를 사용해 ZooKeeper 서비스와 통신할 수 있는 API를 제공하는 확장의 레퍼런스예요. 분산 동기화, 구성 정보 유지, 네이밍, 그룹 서비스 등을 중앙에서 관리하는 데 쓰입니다.

출처: ZooKeeper

본문

개요

이 확장은 libzookeeper 라이브러리를 사용해 ZooKeeper 서비스와 통신하기 위한 API를 제공해요.

ZooKeeper는 아파치 프로젝트로, 구성 정보 유지, 네이밍(naming), 분산 동기화 제공, 그룹 서비스 제공을 위한 중앙 집중식 서비스를 가능하게 해 줘요.

ZooKeeper 함수

  • zookeeper_dispatch — 보류 중인 연산에 대해 콜백을 호출합니다

클래스

Zookeeper — Zookeeper 클래스

  • Zookeeper::addAuth — 애플리케이션 자격 증명을 지정합니다
  • Zookeeper::close — zookeeper 핸들을 닫고 리소스를 해제합니다
  • Zookeeper::connect — zookeeper와 통신하는 데 사용하는 핸들을 생성합니다
  • Zookeeper::__construct — zookeeper와 통신하는 데 사용하는 핸들을 생성합니다
  • Zookeeper::create — 노드를 동기적으로 생성합니다
  • Zookeeper::delete — zookeeper에서 노드를 동기적으로 삭제합니다
  • Zookeeper::exists — zookeeper에서 노드의 존재를 동기적으로 확인합니다
  • Zookeeper::get — 노드와 연결된 데이터를 동기적으로 가져옵니다
  • Zookeeper::getAcl — 노드와 연결된 ACL을 동기적으로 가져옵니다
  • Zookeeper::getChildren — 노드의 자식들을 동기적으로 나열합니다
  • Zookeeper::getClientId — 클라이언트 세션 ID를 반환합니다 (연결된 상태, 즉 마지막 워처 상태가 ZOO_CONNECTED_STATE일 때만 유효)
  • Zookeeper::getConfig — ZookeeperConfig 인스턴스를 가져옵니다
  • Zookeeper::getRecvTimeout — 이 세션의 타임아웃을 반환합니다 (연결된 상태에서만 유효, 서버 재연결 후 변경될 수 있음)
  • Zookeeper::getState — zookeeper 연결의 상태를 가져옵니다
  • Zookeeper::isRecoverable — 현재 zookeeper 연결 상태를 복구할 수 있는지 확인합니다
  • Zookeeper::set — 노드와 연결된 데이터를 설정합니다
  • Zookeeper::setAcl — 노드와 연결된 ACL을 동기적으로 설정합니다
  • Zookeeper::setDebugLevel — 라이브러리의 디버깅 수준을 설정합니다
  • Zookeeper::setDeterministicConnOrder — 쿼럼 엔드포인트 순서 무작위화를 활성화/비활성화합니다
  • Zookeeper::setLogStream — 라이브러리가 로깅에 사용할 스트림을 설정합니다
  • Zookeeper::setWatcher — 워처(watcher) 함수를 설정합니다

ZookeeperConfig — ZookeeperConfig 클래스

  • ZookeeperConfig::add — 앙상블(ensemble)에 서버를 추가합니다
  • ZookeeperConfig::get — 클라이언트가 연결된 서버에 알려진 ZooKeeper 클러스터의 마지막 커밋된 구성을 동기적으로 가져옵니다
  • ZookeeperConfig::remove — 앙상블에서 서버를 제거합니다
  • ZookeeperConfig::set — ZK 클러스터 앙상블 멤버십과 앙상블 피어의 역할을 변경합니다

예외 클래스

  • ZookeeperException — 기본 예외 클래스
  • ZookeeperAuthenticationException — 인증 관련 예외
  • ZookeeperConnectionException — 연결 관련 예외
  • ZookeeperMarshallingException — 마샬링 관련 예외
  • ZookeeperNoNodeException — 노드 없음 예외
  • ZookeeperOperationTimeoutException — 연산 타임아웃 예외
  • ZookeeperSessionException — 세션 관련 예외

더 알아보기

ZooKeeper 확장의 요구 사항·설치 방법과 런타임 구성은 설치·구성(Installing/Configuring) 섹션을 함께 확인해 보세요.