En un mot, ZooKeeper vous donne les outils nécessaires pour construire des applications distribuées. Par exemple, supposons que vous avez une application de serveur web distribué fonctionnant sur 10 noeuds. Disons que vous voulez obtenir le nombre total de hits en temps réel. Une façon de le faire est d'écrire une application qui se connecte aux 10 noeuds, obtient le compte de chaque noeud et présente la somme. Alternativement, vous pouvez demander à chaque application de serveur web d'écrire leur nombre d'accès à ZooKeeper à intervalles réguliers et ensuite interroger ZooKeeper pour obtenir le nombre d'accès.
ZooKeeper supporte le verrouillage, la synchronisation, les files d'attente, le service de nommage hiérarchique et bien d'autres choses encore, dès le départ.
ZooKeeper fonctionne sur un cluster de serveurs. Les données sont répliquées sur les nœuds et sont conservées en mémoire. Les clients peuvent se connecter à n'importe quel nœud pour lire et écrire, mais les écritures sont transmises au cluster. leader
.
ZooKeeper est éventuellement cohérent : les écritures sont garanties d'être exécutées dans l'ordre où elles ont été reçues du client, les mises à jour sont atomiques, et seront éventuellement répliquées vers d'autres nœuds.
ZooKeeper est largement utilisé par de grands noms tels que Yahoo !, Netflix, Twitter et LinkedIn.
Les cas d'utilisation typiques de ZooKeeper sont les suivants
- Service de dénomination
- Gestion de la configuration
- Synchronisation
- Élection du leader
- File d'attente des messages
- Système de notification
Zookeeper en tant que tel est un peu complexe à mettre en œuvre correctement. Il y a donc un certain nombre de recettes disponibles qui aident à simplifier l'implémentation recettes de gardien de zoo
Zookeeper est utilisé dans de nombreux projets open source tels que HBase (élection du leader), Kafka (synchronisation entre les brokers, les consommateurs), Solr (gestion de la configuration), Hadoop, Flume, etc. en raison des capacités qu'il offre pour la construction d'applications distribuées.
Zookeeper peut également être utilisé comme une solution d'enregistrement/découverte de services dans une SOA.
-
Pinterest utilise zookeeper pour l'enregistrement et la découverte des services et pour la gestion de la configuration dynamique. gardien de zoo sur Pinterest
-
Airbnb possède son propre Smartstack open source, qui est construit au-dessus de Zookeeper pour l'enregistrement et la découverte des services et de HAProxy pour l'équilibrage des charges entre les instances d'un service dans une architecture orientée services. gardien de zoo à Airbnb
7 votes
Similaire mais pas la réponse exacte que vous recherchez : stackoverflow.com/questions/1479442/real-world-use-of-zookeeper
3 votes
cloudera.com/blog/2009/05/
0 votes
Vous pouvez lire ce document ZooKeeper : Coordination sans attente pour les systèmes à l'échelle d'Internet Écrit par deux ingénieurs de Yahoo !
0 votes
Voici un Une présentation technique qui est une introduction à Apache ZooKeeper. par Camille Fournier qui est le directeur technique de RentTheRunway. J'espère qu'il vous sera utile.
0 votes
@Luca Geretti...Selon moi, Zookeper fournit un ensemble d'apis afin que nous puissions l'utiliser pour coordonner l'application distribuée. Corrigez-moi si je me trompe.
0 votes
~Vidéo d'environ 58 minutes.
0 votes
Consultez cet article : stackextend.com/zookeeper/
0 votes
Cette vidéo de 22 minutes explique très bien - youtube.com/watch?v=WlkqeSstV3c