Реальное использование зоопарка [закрыто]
Я смотрел на Zookeeper недавно и задавался вопросом, использует ли кто-нибудь его в настоящее время и что они специально используют его для хранения.
наиболее распространенным вариантом использования является информация о конфигурации, но какие данные и сколько данных вы храните?
13 ответов:
The реализация Apache CXF DOSGi использует zookeeper для своей службы регистрации репозитория. Отдельные контейнеры имеют пакет распределенного программного обеспечения (dsw), который прослушивает все события службы и при изменении состояния службы имеет свойство, указывающее распределение. Dsw обращается к пакету обнаружения, который в случае ссылочной реализации использует zookeeper для хранения службы в качестве эфемерных узлов. Другие экземпляры будут искать изменения в структуре узла и регистрировать прокси на своих локальных системах. Конечный результат - вы можете закодировать простой OSGi и получить прозрачное распределение.
HBase использует Zookeeper для координации деятельности его "головной узел" отвечал за до текущей версии. Переход к использованию Zookeeper означает, что Центральное управление больше не является единственной точкой отказа.
Zookeeper очень универсален; вот пример его использования для создания распределенной параллельной очереди:
http://blog.cloudera.com/blog/2009/05/building-a-distributed-concurrent-queue-with-apache-zookeeper/
вы можете курс также использует его для создания блокировок ресурсов и т. д. В распределенной системе.
старый вопрос, но поскольку эта страница появляется сначала в поиске google для случаев использования zookeeper, я решил, что было бы лучше дать обновленный список
проекты свободного программного обеспечения на базе ZooKeeper:
- AdroitLogic UltraESB
- Акка
- Eclipse Communication Framework
- затмение Gyrex
- GoldenOrb
- Juju
- Катта
- KeptCollections
- Мэсос
- Neo4j
- Норберт
- Talend ESB
- redis_failover
Apache проекты на базе Смотритель зоопарка:
- Apache Accumulo
- Apache BookKeeper
- Apache CXF DOSGi
- Apache Flume
- Apache Hadoop MapReduce
- Apache HBase
- Apache Hedwig
- Апач Кафка
- Apache S4
- Apache Солр
источник:https://cwiki.apache.org/confluence/display/ZOOKEEPER/PoweredBy
Норберт хороший пример из масштабируемой системы производства. Я вообще, он интегрирует Netty, буферы протокола и Zookeeper в облегченную структуру для запуска кластерных служб. Буферы протокола используются для указания API службы, Netty реализует абстракции транспортного уровня, а Zookeeper-это, по сути, отказоустойчивая служба обнаружения.
каждый раз при запуске экземпляра службы Норберт регистрирует его как доступный экземпляр конкретного тип службы. С точки зрения реализации, он создает два дерева Zookeeper:
- " / ServiceName / members", в котором перечислены все известные экземпляры службы
- "/ServiceName / available", в котором перечислены доступные в настоящее время экземпляры службы
наиболее важным свойством для каждого узла является url-адрес, используемый для подключения к соответствующему экземпляру службы. Это позволяет балансировать нагрузку на стороне клиента-клиент Norbert находит список URL-адресов для a заданное имя службы и попытка подключиться к одному из них-это некоторый порядок (например, циклический или случайный).
Solr также работа по интеграции ZooKeeper. Здесь вы можете увидеть, что они используют для динамической конфигурации, сегментирования, устранения SPOF (master/slave election), перебалансировки и т. д.
есть хорошая статья ZooKeeper-Король координации о смотрителе зоопарка в найденном.
- шторм используется a ряд компаний (Twitter и Groupon являются двумя из более известных) и полагается на Zookeeper.
- Кафка используется Linkedin и полагается на Zookeeper.
шторм использует Zookeeper для хранения всех состояний, чтобы он мог восстанавливаться после сбоя в любой из своих (распределенных) компонентных служб.
это позволяет службам компонентов быть без состояния и просто загрузите или синхронизируйте с серверами Zookeeper, когда необходимы данные конфигурации. Если вам когда-либо приходилось восстанавливать рабочий сервер, вы будете знать, что это может быть головная боль!
Кафка потребители очереди могут использовать Zookeeper для хранения информации (высокая отметка воды) о том, что было потреблено из очереди.
Zookeeper был использован для многих вещей, кроме конфигурации. Вот официальный список реализации распределенных примитивов с помощью zookeeper.
в моем случае мы храним конфигурационные файлы в ZooKeeper ensemble для использования в кластере . Мы используем схему лидер - > последователь . Поэтому, когда один Зооконтроль вниз, мы переключаемся на другой (реплицированный режим)
Neo4j использует Zookeeper их высокая доступность enterprise server! http://docs.neo4j.org/chunked/milestone/ha.html
datomic использует apache zookeeper для управления хранилищем данных на основе riak.
поскольку в настоящее время Riak поддерживает только возможную согласованность, система Datomic, работающая на Riak, также использует Apache ZooKeeper, высокодоступную службу координации. Datomic использует ZooKeeper для координации отработки отказа транзактора и для нескольких ключей для каждой базы данных, которые необходимо обновить с помощью CAS. источник: http://blog.datomic.com/2012/11/riak-and-couchbase-support.html
вот подробно о том, как HBase использует ZooKeeper, в том числе информацию о том, как они намерены использовать его в будущем. Обычно они используют его для устранения SPOF на серверах региона через выборы лидера, реализованные с помощью ZooKeeper.