Распределённая блокировка — это способ управления синхронным доступом к общим ресурсам в распределённых системах. Ниже описано, как zookeeper реализует распределённые блокировки. Рассмотрены два типа: эксклюзивные и разделяемые блокировки. Экскл...

Выбор leader в zookeeper проходит в два этапа. Первый — выбор leader при запуске сервера. Второй — отказ сервера leader во время работы. Перед разбором принципа выборов сначала рассмотрим...

В Zookeeper согласованность распределённых данных обеспечивается протоколом ZAB. Протокол ZAB состоит из двух частей: широковещательная рассылка сообщений и восстановление после сбоя. При рассылке сообщений Zookeeper использует еди...

Механизм watcher в zookeeper состоит из четырёх этапов: клиент регистрирует watcher. Сервер обрабатывает watcher. Сервер вызывает событие watcher. Клиент выполняет обратный вызов wa...

Права ACL (Access Control List, список контроля доступа) в Zookeeper играют значительную роль в производственной среде, поэтому в этой главе они рассматриваются отдельно. Права ACL позволяют настраивать для узлов доступ на чтение и другие операции.

В этой главе рассмотрены свойства узлов zookeeper и простые сценарии их использования. Именно благодаря этим свойствам узлов zookeeper применяется в разных сценариях. 1. Ключи узлов одного уровня...

zookeeper поддерживает определённые четырёхбуквенные команды для взаимодействия с ним. С их помощью получают текущее состояние и сведения о службе zookeeper. Клиент может использовать telnet или nc (netcat)...

Команды zookeeper выполняют операции на службе zookeeper. Сначала выполните команду и откройте новую сессию, чтобы войти в терминал. $ sh zkCli.sh Далее разбираются основные часто используемые ко...

Соединение между клиентом и сервером основано на долгом TCP-соединении. Клиент подключается к серверу через порт 2181 по умолчанию, это и есть сессия session. С момента первого установления соединения кли...

Модель данных. В zookeeper все хранимые данные состоят из znode. Узлы также называют znode, данные хранятся в формате key/value. Цел...