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?
Réponses:
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.
la source
Projets de logiciels libres alimentés par ZooKeeper:
Projets Apache alimentés par ZooKeeper:
Source: https://cwiki.apache.org/confluence/display/ZOOKEEPER/PoweredBy
la source
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é.
la source
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
la source
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:
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).
la source
Il y a un bon article ZooKeeper - Le roi de la coordination sur ZooKeeper chez Elastic Cloud.
la source
Solr travaille également à l'intégration de ZooKeeper . Ici, vous pouvez voir qu'ils utilisent pour la configuration dynamique, le sharding, l'élimination SPOF (élection maître / esclave), le rééquilibrage, etc.
la source
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.
la source
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é)
la source
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
la source
Neo4j utilise Zookeeper son serveur d'entreprise haute disponibilité! http://docs.neo4j.org/chunked/milestone/ha.html
la source
datomic utilise apache zookeeper pour gérer le stockage de données basé sur riak.
la source
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.
la source