Utilisation réelle du gardien de zoo [fermé]

122

J'ai récemment regardé Zookeeper et je me suis demandé si quelqu'un l'utilisait actuellement et ce qu'il l'utilisait spécifiquement pour le stocker.

Le cas d'utilisation le plus courant concerne les informations de configuration, mais quel type de données et combien de données stockez-vous?

Jon
la source
3
Cela relève du groupe de technologies Hadoop, il y a un cas d'utilisation de Yahoo ici qui est assez bon - developer.yahoo.net/blogs/hadoop/2009/05/…
Jon
Je ne connais pas les détails de son utilisation, mais je sais que la dernière version de HBase (une implémentation Open Source BigTable) utilise ZooKeeper.
Leo P
10
Cette question a plus de votes positifs que toutes les réponses combinées. Zookeeper a besoin d'un meilleur wiki de cas d'utilisation.
mixdev
1
Découvrez comment Netflix l'utilise. github.com/Netflix/curator/wiki/Recipes Curator est la bibliothèque de wrapper de Netflix pour ZK.
eSniff
Consultez cet article: stackextend.com/zookeeper/…
Mouad EL Fakir

Réponses:

13

L' implémentation Apache CXF de DOSGi utilise zookeeper pour son référentiel d'enregistrement de service. Les conteneurs individuels ont un ensemble de logiciels distribués (dsw) qui écoute tous les événements de service et lorsqu'un statut de service change qui a une propriété indiquant la distribution. Le DSW communique avec le bundle de découverte qui, dans le cas d'implémentation de référence, utilise zookeeper pour stocker le service en tant que nœuds éphémères. D'autres instances rechercheront les modifications apportées à la structure des nœuds et enregistreront les mandataires sur leurs systèmes locaux. Le résultat final est que vous pouvez coder en OSGi brut et vous retrouver avec une distribution transparente.

John Ellinwood
la source
17

Projets de logiciels libres alimentés par ZooKeeper:

Projets Apache alimentés par ZooKeeper:

Source: https://cwiki.apache.org/confluence/display/ZOOKEEPER/PoweredBy

dln385
la source
17

HBase utilise Zookeeper pour coordonner les activités dont son "nœud principal" était responsable avant la version actuelle. Le passage à l'utilisation de Zookeeper signifie que le contrôle central n'est plus un point de défaillance unique.

Zookeeper est très polyvalent; voici un exemple d'utilisation pour créer une file d'attente simultanée distribuée:

http://blog.cloudera.com/blog/2009/05/building-a-distributed-concurrent-queue-with-apache-zookeeper/

Vous pouvez bien sûr également l'utiliser pour créer des verrous de ressources, etc., dans un système distribué.

SquareCog
la source
14

Ancienne question, mais comme cette page apparaît en premier sur une recherche Google de cas d'utilisation de gardien de zoo, j'ai pensé qu'il serait préférable de donner une liste mise à jour

  1. Wikipédia
  2. wiki du gardien de zoo
  3. vrais utilisateurs
manku
la source
le lien 'vrais utilisateurs' n'existe plus :(
ginna
10

Norbert est un bon exemple d'un système de production évolutif. En général, il intègre Netty, Protocol Buffers et Zookeeper dans un cadre léger pour exécuter des services en cluster. Les tampons de protocole sont utilisés pour spécifier votre API de service, Netty implémente des abstractions de la couche de transport et Zookeeper est essentiellement un service de découverte tolérant aux pannes.

Chaque fois qu'une instance de service est démarrée, Norbert l'enregistre comme instance disponible d'un type de service particulier. Du point de vue de la mise en œuvre, il crée deux arbres Zookeeper:

  • "/ ServiceName / members" qui répertorie toutes les instances connues du service
  • "/ ServiceName / available" qui répertorie les instances actuellement disponibles du service

La propriété la plus importante pour chaque nœud est l'URL à utiliser pour se connecter à l'instance de service correspondante. Il permet l'équilibrage de charge côté client - un client Norbert trouve la liste des URL pour un nom de service donné et tente de se connecter à l'un d'entre eux dans un certain ordre (par exemple, à tour de rôle ou aléatoire).

ndolgov
la source
6

Il y a un bon article ZooKeeper - Le roi de la coordination sur ZooKeeper chez Elastic Cloud.

Chez Found, par exemple, nous utilisons abondamment ZooKeeper pour la découverte, l'allocation des ressources, l'élection du chef et les notifications de haute priorité. Dans cet article, nous vous présenterons ce roi de la coordination et examinerons de près comment nous utilisons ZooKeeper chez Found

herodot
la source
3
  • Storm est utilisé par un certain nombre d'entreprises (Twitter et Groupon étant deux des plus connus) et s'appuie sur Zookeeper.
  • Kafka est utilisé par Linkedin et s'appuie sur Zookeeper.

Storm utilise Zookeeper pour stocker tous les états afin de pouvoir récupérer après une panne dans l'un de ses services de composants (distribués).

Cela permet aux services de composants d'être sans état et de simplement télécharger ou synchroniser avec les serveurs Zookeeper lorsque des données de configuration sont nécessaires. Si vous avez déjà eu à récupérer un serveur de production, vous saurez à quel point cela peut être un casse-tête!

Les consommateurs de files d'attente Kafka peuvent utiliser Zookeeper pour stocker des informations (high water mark) sur ce qui a été consommé dans la file d'attente.

Thomas Bratt
la source
2

Dans mon cas, nous stockons les fichiers de configuration dans zookeeper ensemble pour une utilisation en cluster. Nous utilisons le schéma leader -> suiveur. Donc, quand un gardien de zoo en panne, nous passons à un autre (mode répliqué)

Oleksandr Kovtunenko
la source
2

Zookeeper était utilisé pour beaucoup de choses autres que la configuration. Voici une liste officielle des primitives distribuées d'implémentation utilisant zookeeper.

https://zookeeper.apache.org/doc/current/recipes.html

liheyuan
la source
ce lien ne fonctionne pas
Viren
1

datomic utilise apache zookeeper pour gérer le stockage de données basé sur riak.

Étant donné que Riak ne prend en charge que la cohérence éventuelle pour le moment, un système Datomic exécuté sur Riak utilise également Apache ZooKeeper, un service de coordination hautement disponible. Datomic utilise ZooKeeper pour la coordination du basculement des transacteurs et pour la poignée de clés par base de données qui doivent être mises à jour avec CAS. source: http://blog.datomic.com/2012/11/riak-and-couchbase-support.html

mavbozo
la source
0

Voici quelques détails sur la façon dont HBase utilise ZooKeeper , y compris des informations sur la façon dont ils ont l'intention de l'utiliser à l'avenir. Généralement, ils l'utilisent pour éliminer SPOF sur les serveurs de la région via l'élection de leader implémentée à l'aide de ZooKeeper.

phunt
la source