Zookeeper 类

(PECL zookeeper >= 0.1.0)

简介

表示 ZooKeeper 会话。

类概要

class Zookeeper {
/* 方法 */
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 getState(): int
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
/* 常量 */
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 AUTH_FAILED_STATE = -113;
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 SYSTEMERROR = -1;
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 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 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

以上所有标志的 OR 运算结果

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

无效的 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

在禁用重新配置功能时尝试执行重新配置操作。

目录

添加说明

用户贡献笔记

此页面没有用户贡献笔记。
To Top