2024年PHP开发者大会日本站

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