Apache ZooKeeper

редактировать
Apache ZooKeeper
Логотип Apache ZooKeeper
Разработчик (и) Apache Software Foundation
Стабильный выпуск 3.6.1 / 30 апреля 2020 г.; 5 месяцев назад (30.04.2020)
Репозиторий Репозиторий ZooKeeper
Написано наJava
Операционная система Кросс-платформенная
Тип Распределенные вычисления
Лицензия Лицензия Apache 2.0
Веб-сайтzookeeper.apache.org

Apache ZooKeeper - это программный проект Apache Software Foundation. По сути, это сервис для распределенных систем, предлагающий иерархическое хранилище ключей и значений, которое используется для предоставления распределенного служба конфигурации, служба синхронизации и реестр имен для больших распределенных систем (см. Примеры использования). ZooKeeper был подпроектом Hadoop, но теперь сам по себе является проектом Apache верхнего уровня.

Содержание
  • 1 Обзор
  • 2 Архитектура
  • 3 Сценарии использования
  • 4 Клиентские библиотеки
  • 5 Проекты Apache с использованием ZooKeeper
  • 6 См. Также
  • 7 Ссылки
  • 8 Внешние ссылки
Обзор

Архитектура ZooKeeper поддерживает высокую доступность через избыточные службы. Таким образом, клиенты могут спросить другого лидера ZooKeeper, если первый не отвечает. Узлы ZooKeeper хранят свои данные в иерархическом пространстве имен, во многом как файловая система или структура данных tree. Клиенты могут читать и записывать на узлы и, таким образом, иметь общую службу конфигурации. ZooKeeper можно рассматривать как систему атомарного вещания, через которую обновления полностью упорядочиваются. Протокол ZooKeeper Atomic Broadcast (ZAB) является ядром системы.

ZooKeeper используется такими компаниями, как Yelp, Rackspace, Yahoo!, Одноклассники, Reddit,NetApp SolidFire, Facebook, Twitter и eBay, а также поисковые системы с открытым исходным кодом поисковые системы, такие как Solr.

ZooKeeper по образцу службы блокировки Google Chubby и первоначально были разработаны в Yahoo! для оптимизации процессов, выполняемых в кластерах больших данных, путем сохранения статуса в локальных файлах журнала на серверах ZooKeeper. Эти серверы связываются с клиентскими машинами, чтобы предоставить им информацию. ZooKeeper был разработан для исправления ошибок, возникающих при развертывании распределенных приложений для работы с большими данными.

Некоторые из основных характеристик Apache ZooKeeper:

  • Надежная система: эта система очень надежна, поскольку она продолжает работать даже при выходе из строя узла.
  • Простая архитектура: архитектура ZooKeeper довольно прост, поскольку существует разделяемое иерархическое пространство имен, которое помогает координировать процессы.
  • Быстрая обработка: ZooKeeper особенно быстр в рабочих нагрузках с преобладанием чтения (т. е. рабочих нагрузках, в которых чтение гораздо чаще, чем запись).
  • Масштабируемость: производительность ZooKeeper может быть улучшена путем добавления узлов.
Архитектура

Некоторые общие термины, касающиеся архитектуры ZooKeeper:

  • Узел: системы, установленные в кластере
  • ZNode: узлы, статус которых обновляется другими узлами в кластере
  • Клиентские приложения: инструменты, которые взаимодействуют с распределенными приложениями
  • Серверные приложения: позволяют клиентским приложениям взаимодействовать с использованием общего интерфейса

Сервисы в кластере реплицируются и хранятся на множестве серверов (называемых «ансамблем»), каждый из которых поддерживает базу данных в памяти, содержащую все дерево данных состояния, а также журнал транзакций и постоянно хранимые моментальные снимки. Несколько клиентских приложений могут подключаться к серверу, и каждый клиент поддерживает TCP-соединение, через которое он отправляет запросы и контрольные сообщения, а также получает ответы и отслеживает события для мониторинга.

Варианты использования

Типичные варианты использования для ZooKeeper:

Клиентские библиотеки

В дополнение к клиентским библиотекам Включенный в дистрибутив ZooKeeper, доступен ряд сторонних библиотек, таких как Apache Curator и Kazoo, которые упрощают использование ZooKeeper, добавляют дополнительные функции, дополнительные языки программирования и т. д.

Проекты Apache с использованием ZooKeeper
См. Также
  • значок Портал компьютерного программирования
  • Портал бесплатного программного обеспечения с открытым исходным кодом
Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-11 20:11:18
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте