ZooKeeper Zookeeper 클래스

(PECL zookeeper >= 0.1.0)


소개

ZooKeeper 세션을 나타냅니다.


클래스 개요

                  
class Zookeeper {

  /* Methods */
  public __construct(string $host = '', callable $watcher_cb = null, int $recv_timeout = 10000)
  public addAuth(string $scheme, string $cert, callable $completion_cb = null): bool
  public close(): void
  public connect(string $host, callable $watcher_cb = null, int $recv_timeout = 10000): void
  public create(
      string $path,
      string $value,
      array $acls,
      int $flags = null
  ): string
  public delete(string $path, int $version = -1): bool
  public exists(string $path, callable $watcher_cb = null): array
  public get(
      string $path,
      callable $watcher_cb = null,
      array &$stat = null,
      int $max_size = 0
  ): string
  public getAcl(string $path): array
  public getChildren(string $path, callable $watcher_cb = null): array
  public getClientId(): int
  public getConfig(): ZookeeperConfig
  public getRecvTimeout(): int
  public getState(): int
  public isRecoverable(): bool
  public set(
      string $path,
      string $value,
      int $version = -1,
      array &$stat = null
  ): bool
  public setAcl(string $path, int $version, array $acl): bool
  public static setDebugLevel(int $logLevel): bool
  public static setDeterministicConnOrder(bool $yesOrNo): bool
  public setLogStream(resource $stream): bool
  public setWatcher(callable $watcher_cb): bool

  /* Constants */
  const int PERM_READ = 1;
  const int PERM_WRITE = 2;
  const int PERM_CREATE = 4;
  const int PERM_DELETE = 8;
  const int PERM_ADMIN = 16;
  const int PERM_ALL = 31;
  const int EPHEMERAL = 1;
  const int SEQUENCE = 2;
  const int LOG_LEVEL_ERROR = 1;
  const int LOG_LEVEL_WARN = 2;
  const int LOG_LEVEL_INFO = 3;
  const int LOG_LEVEL_DEBUG = 4;
  const int EXPIRED_SESSION_STATE = -112;
  const int AUTH_FAILED_STATE = -113;
  const int CONNECTING_STATE = 1;
  const int ASSOCIATING_STATE = 2;
  const int CONNECTED_STATE = 3;
  const int READONLY_STATE = 5;
  const int NOTCONNECTED_STATE = 999;
  const int CREATED_EVENT = 1;
  const int DELETED_EVENT = 2;
  const int CHANGED_EVENT = 3;
  const int CHILD_EVENT = 4;
  const int SESSION_EVENT = -1;
  const int NOTWATCHING_EVENT = -2;
  const int SYSTEMERROR = -1;
  const int RUNTIMEINCONSISTENCY = -2;
  const int DATAINCONSISTENCY = -3;
  const int CONNECTIONLOSS = -4;
  const int MARSHALLINGERROR = -5;
  const int UNIMPLEMENTED = -6;
  const int OPERATIONTIMEOUT = -7;
  const int BADARGUMENTS = -8;
  const int INVALIDSTATE = -9;
  const int NEWCONFIGNOQUORUM = -13;
  const int RECONFIGINPROGRESS = -14;
  const int OK = 0;
  const int APIERROR = -100;
  const int NONODE = -101;
  const int NOAUTH = -102;
  const int BADVERSION = -103;
  const int NOCHILDRENFOREPHEMERALS = -108;
  const int NODEEXISTS = -110;
  const int NOTEMPTY = -111;
  const int SESSIONEXPIRED = -112;
  const int INVALIDCALLBACK = -113;
  const int INVALIDACL = -114;
  const int AUTHFAILED = -115;
  const int CLOSING = -116;
  const int NOTHING = -117;
  const int SESSIONMOVED = -118;
  const int NOTREADONLY = -119;
  const int EPHEMERALONLOCALSESSION = -120;
  const int NOWATCHER = -121;
  const int RECONFIGDISABLED = -122;
}
                  
                

미리 정의된 상수


ZooKeeper 권한

Zookeeper::PERM_READ
노드 값을 읽고 자식을 나열할 수 있습니다.
Zookeeper::PERM_WRITE
노드 값을 설정할 수 있습니다.
Zookeeper::PERM_CREATE
자식을 만들 수 있다
Zookeeper::PERM_DELETE
자식를 삭제할 수 있습니다
Zookeeper::PERM_ADMIN
set_acl()을 실행할 수 있습니다.
Zookeeper::PERM_ALL
위의 모든 플래그를 함께 ORd

ZooKeeper 생성 플래그

Zookeeper::EPHEMERAL
Zookeeper::EPHEMERAL 플래그가 설정되면 클라이언트 세션이 사라지면 노드가 자동으로 제거됩니다.
Zookeeper::SEQUENCE
Zookeeper::SEQUENCE 플래그가 설정되면 단조 증가하는 고유한 시퀀스 번호가 경로 이름에 추가됩니다. 시퀀스 번호는 항상 10자리의 고정 길이이며 0으로 채워집니다.

ZooKeeper 로그 수준

Zookeeper::LOG_LEVEL_ERROR
오류 메시지만 출력
Zookeeper::LOG_LEVEL_WARN
오류/경고 출력
Zookeeper::LOG_LEVEL_INFO
오류/경고 외에 큰 작업 메시지를 출력합니다.
Zookeeper::LOG_LEVEL_DEBUG
모두 출력

ZooKeeper 상태

Zookeeper::EXPIRED_SESSION_STATE
연결되었지만 세션이 만료됨
Zookeeper::AUTH_FAILED_STATE
연결되었지만 인증 실패
Zookeeper::CONNECTING_STATE
연결 중
Zookeeper::ASSOCIATING_STATE
연결
Zookeeper::CONNECTED_STATE
연결됨
Zookeeper::READONLY_STATE
TODO: 이 확장 기능을 개선하는 데 도움을 주세요.
Zookeeper::NOTCONNECTED_STATE
연결에 실패

ZooKeeper 시계 유형

Zookeeper::CREATED_EVENT
노드가 생성되었습니다.

이것은 존재하지 않는 노드의 감시에 의해서만 생성됩니다. 이 시계는 Zookeeper::exists를 사용하여 설정됩니다.

Zookeeper::DELETED_EVENT
노드가 삭제되었습니다.

이것은 노드의 감시에 의해서만 생성됩니다. 이러한 시계는 Zookeeper::exists 및 Zookeeper::get을 사용하여 설정됩니다.

Zookeeper::CHANGED_EVENT
노드가 변경되었습니다.

이것은 노드의 감시에 의해서만 생성됩니다. 이러한 시계는 Zookeeper::exists 및 Zookeeper::get을 사용하여 설정됩니다.

Zookeeper::CHILD_EVENT
자식 목록에 발생한 변경 사항

이것은 노드의 자식 목록에 있는 감시에 의해서만 생성됩니다. 이 시계는 Zookeeper::getChildren을 사용하여 설정됩니다.

Zookeeper::SESSION_EVENT
세션이 손실되었습니다.

클라이언트가 연결이 끊기거나 서버와 다시 연결할 때 생성됩니다.

Zookeeper::NOTWATCHING_EVENT
시계가 제거되었습니다.

이것은 서버가 어떤 이유로(아마도 리소스 제약) 더 이상 클라이언트에 대한 노드를 감시하지 않을 때 생성됩니다.


ZooKeeper 시스템 및 서버 측 오류

Zookeeper::SYSTEMERROR
이것은 서버에서 발생하지 않으며 범위를 나타내는 것 외에는 사용해서는 안 됩니다. 특히 이 값보다 크고 Zookeeper::APIERROR보다 작은 오류 코드는 시스템 오류입니다.
Zookeeper::RUNTIMEINCONSISTENCY
런타임 불일치가 발견되었습니다.
Zookeeper::DATAINCONSISTENCY
데이터 불일치가 발견되었습니다.
Zookeeper::CONNECTIONLOSS
서버에 대한 연결이 끊어졌습니다.
Zookeeper::MARSHALLINGERROR
데이터를 마샬링하거나 언마샬링하는 동안 오류가 발생했습니다.
Zookeeper::UNIMPLEMENTED
작업이 구현되지 않았습니다.
Zookeeper::OPERATIONTIMEOUT
작업 시간이 초과되었습니다.
Zookeeper::BADARGUMENTS
잘못된 인수입니다.
Zookeeper::INVALIDSTATE
Invliad zhandle 상태입니다.
Zookeeper::NEWCONFIGNOQUORUM
새 구성의 쿼럼이 연결되어 있지 않고 마지막으로 커밋된 구성의 리더와 최신 상태입니다. 새 서버가 연결되고 동기화된 후 재구성을 호출해 보십시오.

ZooKeeper 3.5.0부터 사용 가능

Zookeeper::RECONFIGINPROGRESS
다른 재구성이 현재 진행 중인 동안 재구성이 요청되었습니다. 이것은 현재 지원되지 않습니다. 다시 시도하십시오.

ZooKeeper 3.5.0부터 사용 가능


ZooKeeper API 오류

Zookeeper::OK
모든 것이 정상입니다.
Zookeeper::APIERROR
이것은 서버에서 발생하지 않으며 범위를 나타내는 것 외에는 사용해서는 안 됩니다. 특히 이 값보다 큰 오류 코드는 API 오류입니다(이보다 작은 값은 Zookeeper::SYSTEMERROR를 나타냄).
Zookeeper::NONODE
노드가 존재하지 않습니다.
Zookeeper::NOAUTH
인증되지 않았습니다.
Zookeeper::BADVERSION
버전 충돌.
Zookeeper::NOCHILDRENFOREPHEMERALS
임시 노드에는 자식이 없을 수 있습니다.
Zookeeper::NODEEXISTS
노드가 이미 있습니다.
Zookeeper::NOTEMPTY
노드에 자식이 있습니다.
Zookeeper::SESSIONEXPIRED
세션이 서버에 의해 만료되었습니다.
Zookeeper::INVALIDCALLBACK
잘못된 콜백이 지정되었습니다.
Zookeeper::INVALIDACL
잘못된 ACL이 지정되었습니다.
Zookeeper::AUTHFAILED
클라이언트 인증에 실패했습니다.
Zookeeper::CLOSING
ZooKeeper가 문을 닫습니다.
Zookeeper::NOTHING
(오류 아님) 처리할 서버 응답이 없습니다.
Zookeeper::SESSIONMOVED
세션이 다른 서버로 이동되었으므로 작업이 무시됩니다.
Zookeeper::NOTREADONLY
상태 변경 요청은 읽기 전용 서버로 전달됩니다.
Zookeeper::EPHEMERALONLOCALSESSION
로컬 세션에서 임시 노드 생성을 시도합니다.
Zookeeper::NOWATCHER
감시자를 찾을 수 없습니다.
Zookeeper::RECONFIGDISABLED
재구성 기능이 비활성화된 경우 재구성 작업을 수행하려고 시도합니다.

목차