1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/yangdechao_admin-guage-notes

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
10Zookeeper知识点总结.md 6.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 24.06.2025 02:12 0782333

1. Механизм работы Zookeeper

С точки зрения паттернов проектирования, Zookeeper представляет собой распределенную систему управления сервисами, основанную на паттерне наблюдателя. Она отвечает за хранение и управление данными, которыми интересуются все участники. Затем она принимает регистрацию наблюдателей, и при изменении состояния данных, Zookeeper будет уведомлять всех зарегистрированных наблюдателей о необходимости принять соответствующие меры.

Zookeeper = файловая система + механизм уведомлений

2. Характеристики Zookeeper

  1. Zookeeper состоит из одного лидера (Leader) и нескольких последователей (Follower).

  2. Если более половины узлов в кластере работают, то Zookeeper может продолжать обслуживание. Поэтому рекомендуется установить нечетное количество серверов.

  3. Глобальная согласованность данных: каждый узел хранит одинаковую копию данных, поэтому клиенты, подключенные к любому узлу, получают одни и те же данные.

  4. Обновления выполняются последовательно, запросы на обновление от одного клиента выполняются в порядке их отправки.

  5. Атомарность обновления данных: либо операция обновления данных завершается успешно, либо она завершается ошибкой.

  6. Временная актуальность: в течение определенного периода времени клиенты могут получить последние данные.

3. Структура данных

Структура данных ZooKeeper аналогична структуре файловой системы Unix, представляющей собой дерево, где каждый узел называется ZNode. Каждый ZNode по умолчанию может хранить до 1 МБ данных, каждый ZNode можно уникально идентифицировать по его пути.

4. Применение

Предоставляемые услуги включают:

Единое именование

Единое управление конфигурациями

Единое управление кластером

Динамическое подключение и отключение узлов сервера

Мягкая балансировка нагрузки

5. Операции командной строки клиента

6. Типы узлов Zookeeper (постоянные/кратковременные/нумерованные/ненумерованные)

Постоянные (Persistent): после разрыва соединения между клиентом и сервером, созданные узлы не удаляются.

Кратковременные (Ephemeral): после разрыва соединения между клиентом и сервером, созданные узлы автоматически удаляются.

(1) Постоянные каталоговые узлы

После разрыва соединения между клиентом и Zookeeper, узел остается существующим.

(2) Постоянные каталоговые узлы с нумерацией

После разрыва соединения между клиентом и Zookeeper, узел остается существующим, но Zookeeper присваивает ему название с учетом порядкового номера.

(3) Временный узел каталогаУзел удаляется после того, как клиент отключается от Zookeeper.

(4) Временный последовательно нумерованный узел каталога

Узел удаляется после того, как клиент отключается от Zookeeper, но Zookeeper присваивает узлу последовательно нумерованное имя.

Дистрибутивный блокировочный механизм Zookeeper

Алгоритм Paxos

Протокол ZAB

Свойство CAP

7. Описание протокола ZAB для Zookeeper

Протокол ZAB — это специально разработанный для дистрибутивной системы координации Zookeeper протокол атомарной рассылки, поддерживающий восстановление после сбоев. Протокол ZAB включает две основные модели: восстановление после сбоев и распределение сообщений. Когда весь кластер Zookeeper только что запущен или лидер сервер вышел из строя, был перезапущен или произошла сетевая неисправность, которая привела к тому, что более половины серверов не могут поддерживать нормальную связь с лидером, все процессы (серверы) переходят в режим восстановления после сбоев, где происходит выбор нового лидера, затем серверы-follower начинают синхронизацию данных с новым лидером. Когда более половины машин в кластере завершают синхронизацию данных с лидером, режим восстановления завершается, и кластер переходит в режим распределения сообщений, где лидер начинает принимать транзакционные запросы от клиентов и генерировать транзакционные предложения для обработки этих запросов.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/yangdechao_admin-guage-notes.git
git@api.gitlife.ru:oschina-mirror/yangdechao_admin-guage-notes.git
oschina-mirror
yangdechao_admin-guage-notes
yangdechao_admin-guage-notes
master