CloudCastle Zookeeper

Чистый PHP-клиент Apache ZooKeeper без расширений: полный и корректный клиентский протокол (совместимость с сервером 3.5 → 3.9) и рецепты координации уровня Apache Curator. Достаточно PHP 8.1+.

Packagist PHP Coverage MSI License

Документация Репозиторий Packagist

$composer require cloud-castle/zookeeper

Быстрый старт

use CloudCastle\Zookeeper\Client;
use CloudCastle\Zookeeper\Configuration\Config;
use CloudCastle\Zookeeper\Protocol\CreateMode;

$client = new Client(new Config(host: '127.0.0.1', port: 2181));
$client->connect();

$client->create('/app/config', 'value', CreateMode::PERSISTENT);
echo $client->get('/app/config')->data;   // value

$client->close();

Возможности

Чистый PHP

Полный бинарный протокол ZooKeeper (Jute) на PHP — без PECL-расширения ext-zookeeper и C-зависимостей.

Рецепты координации

Блокировки, RW-блокировки, выборы лидера, барьеры, очередь FIFO, счётчик, семафор, кэш дерева — уровень Apache Curator.

Асинхронность

Неблокирующий клиент на встроенном цикле событий, адаптеры ReactPHP и Revolt/Amp, отложенная запись через очередь.

Безопасность

TLS/mTLS со строгой проверкой сертификата по умолчанию, digest без утечки пароля в ACL.

Полный протокол

Все режимы узлов (persistent, ephemeral, sequential, container, TTL), watch, транзакции multi, реконфигурация.

Качество

100% покрытие тестами и мутационный MSI, полный стек статанализа, интеграция против реального сервера 3.5 → 3.9.

Разделы документации

Обзор и вики

Архитектура, рецепты, сравнение с аналогами, тестирование — с диаграммами.

README

Установка, примеры, возможности, сравнительные таблицы, рекомендации.

История изменений

Версии и добавленная функциональность по Keep a Changelog.

Языки документации

🇷🇺 Русский 🇬🇧 English 🇩🇪 Deutsch 🇫🇷 Français 🇪🇸 Español 🇮🇹 Italiano