Я недавно дивився на Zookeeper і цікавився, чи хтось його використовує в даний час і що вони спеціально використовують для зберігання.
Найпоширеніший випадок використання - це інформація про конфігурацію, але які дані та скільки даних ви зберігаєте?
Я недавно дивився на Zookeeper і цікавився, чи хтось його використовує в даний час і що вони спеціально використовують для зберігання.
Найпоширеніший випадок використання - це інформація про конфігурацію, але які дані та скільки даних ви зберігаєте?
Відповіді:
Реалізація Apache CXF з DOSGi використовує його для Zookeeper реєстрації служби сховища. Окремі контейнери мають розподілене програмне забезпечення (dsw), яке прослуховує всі події сервісу та коли стан служби змінюється, має властивість, що вказує на розповсюдження. Dsw розмовляє з пакетом виявлення, який у випадку посилання на реалізацію використовує зоопарку для зберігання служби як ефемерних вузлів. Інші екземпляри шукатимуть зміни у структурі вузла та реєструватимуть проксі-сервіси у своїх локальних системах. Кінцевим результатом є те, що ви можете кодувати звичайний OSGi і забезпечити прозорий розподіл.
Безкоштовні програмні проекти на базі ZooKeeper:
Проекти Apache на базі ZooKeeper:
Джерело: https://cwiki.apache.org/confluence/display/ZOOKEEPER/PoweredBy
HBase використовує Zookeeper для координації діяльності, за яку "головний вузол" відповідав перед поточною версією. Перехід до використання Zookeeper означає, що центральне управління вже не є єдиною точкою відмови.
Зоопарк дуже універсальний; ось приклад його використання для побудови розподіленої паралельної черги:
http://blog.cloudera.com/blog/2009/05/building-a-distributed-concurrent-queue-with-apache-zookeeper/
Звичайно, ви також можете використовувати його для створення блокування ресурсів тощо у розподіленій системі.
Старе питання, але оскільки ця сторінка з’являється першою в пошуку Google щодо випадків використання зоокера, я подумав, що найкраще дати оновлений список
Норберт - хороший приклад з масштабованої системи виробництва. Я, як правило, інтегрує Netty, Buffers Protocol та Zookeeper у легку основу для роботи кластерних служб. Буфери протоколів використовуються для визначення API сервісу, Netty реалізує абстракції транспортного рівня, а Zookeeper - це по суті служба виявлення відмов.
Кожен раз, коли запускається екземпляр служби, Норберт реєструє його як доступний екземпляр певного типу послуги. З точки зору впровадження, він створює два дерева Zookeeper:
Найважливішою властивістю кожного вузла є URL-адреса, яка використовується для підключення до відповідного екземпляра служби. Це дозволяє врівноважувати навантаження на стороні клієнта - клієнт Норберта знаходить список URL-адрес для заданої назви послуги та намагається підключитися до одного з них - це певний порядок (наприклад, круговий або випадковий).
Є хороша стаття ZooKeeper - Король координації про ZooKeeper в Еластичному Хмарі.
Наприклад, у програмі Found, ми широко використовуємо ZooKeeper для виявлення, розподілу ресурсів, виборів лідерів та сповіщень про високі пріоритети. У цій статті ми познайомимо вас із цим Королем координації та уважно подивимось, як ми використовуємо ZooKeeper в компанії Found
Solr також працює над інтеграцією ZooKeeper . Тут ви можете побачити, що вони використовуються для динамічної конфігурації, шардингу, усунення SPOF (вибори головного / підлеглого), відновлення балансу тощо.
Storm використовує Zookeeper для зберігання всіх станів, щоб він міг відновитися після відключення в будь-якому зі своїх (розподілених) компонентних послуг.
Це дозволяє службам компонентів бути без стану та просто завантажувати або синхронізувати з серверами Zookeeper, коли потрібні дані конфігурації. Якщо вам коли-небудь довелося відновити виробничий сервер, ви знатимете, що це може за головний біль!
Споживачі черги Kafka можуть використовувати Zookeeper для зберігання інформації (високий водний знак) про те, що було спожито з черги.
У моєму випадку ми зберігаємо файли конфігурації в ансамблі zookeeper для використання кластерів. Ми використовуємо схему лідера -> follower. Тож, коли одного зоопарку вниз ми переключаємо на іншого (реплікаційний режим)
Zookeeper використовувався для багатьох речей, крім конфігурації. Ось офіційний перелік реалізованих розподілених примітивів за допомогою зоокетера.
Neo4j використовує Zookeeper їх корпоративний сервер із високою доступністю! http://docs.neo4j.org/chunked/milestone/ha.html
Датомік використовує apache zookeeper для управління сховищем даних на базі даних.
Оскільки Riak підтримує лише можливу послідовність на даний момент, система Datomic, що працює на Riak, також використовує Apache ZooKeeper - високодоступну послугу координації. Datomic використовує ZooKeeper для координації аварійних відключень трансакторів та для декількох ключів у базі даних, які потребують оновлення CAS. джерело: http://blog.datomic.com/2012/11/riak-and-couchbase-support.html
Ось декілька деталей про те, як HBase використовує ZooKeeper , включаючи інформацію про те, як вони мають намір використовувати його в майбутньому. Зазвичай вони використовують його для усунення SPOF на серверах регіону через вибори Leader, реалізовані за допомогою ZooKeeper.