Apache ZooKeeper

Apache ZooKeeper

Informations
Développé par Apache Software Foundation
Première version [1]
Dernière version 3.5.5 ()[2],[3]
3.5.6 ()[4]
Version avancée 3.5.6-rc1 ()[5]
Dépôt gitbox.apache.org/repos/asf?p=zookeeper.git, github.com/apache/zookeeper.git et gitbox.apache.org/repos/asf/zookeeper.git
Écrit en Java
Environnement Machine virtuelle Java
Type Apache Foundation Project ()
Key-value database (en)
Licence Licence Apache
Site web zookeeper.apache.org et zookeeper.apache.org

Apache ZooKeeper est un logiciel open source de la Apache Software Foundation. Il s'agit d'un logiciel de gestion de configuration pour systèmes distribués. ZooKeeper est un sous projet de Hadoop mais il est un projet top-level à part entière.[pas clair]

L'architecture de ZooKeeper supporte une haute disponibilité grâce à des services redondants. Les clients peuvent ainsi interroger un autre leader ZooKeeper si le premier ne répond pas. Les nœuds de ZooKeeper stockent leurs données dans un espace de noms hiérarchique, tout comme un système de fichiers ou une structure de données arborescente. Les clients peuvent lire et écrire dans les nœuds et ainsi avoir un service de configuration partagée. Les mises à jour sont totalement ordonnées[6].

ZooKeeper est utilisé par des sociétés comme Rackspace, Yahoo![7], Odnoklassniki[8] et eBay ainsi que des systèmes de recherche open source comme Solr[9].

Architecture Apache ZooKeeper

Voici quelques termes courant dans l'architecture Zookeeper:

  • Node: Les systèmes installés sur le cluster.
  • ZNode: les nœuds dont le statut est mis à jour par d'autres nœuds du cluster.
  • Client Applications: Les outils qui interagissent avec les applications distribuées
  • Server Applications: Permet aux applications clientes d'interagir à l'aide d'une interface commune.

Les services du cluster sont répliqués et stockés sur un ensemble de serveurs (appelés "ensemble"), chacun d'entre eux maintiennent une base de données en mémoire contenant l'arbre d'état complet des données ainsi qu'un journal des transactions et des snapshots stockés en permanence. Plusieurs applications client peuvent se connecter à un serveur, et chaque client maintient une connexion TCP par laquelle il envoie des requêtes et des TIC et reçoit des réponses et surveille les événements. [10]

Cas d'utilisation classique

Bibliothèques cliente

En plus des bibliothèques clientes incluses dans la distribution ZooKeeper, un certain nombre de bibliothèques tierces telles que Apache Curator et Kazoo sont disponibles qui facilitent l'utilisation de ZooKeeper, ajoutent des fonctionnalités supplémentaires.

Apache projects utilisant ZooKeeper

etc.

Articles connexes

Références

  1. « https://projects.apache.org/json/projects/zookeeper.json » (consulté le 8 avril 2020)
  2. « https://gitbox.apache.org/repos/asf?p=zookeeper.git;a=commit;h=390fe37ea45dee01bf87dc1c042b5e3dcce88653 » (consulté le 23 septembre 2019)
  3. « Release 3.5.5 », (consulté le 23 septembre 2019)
  4. « Release 3.5.6 », (consulté le 16 octobre 2019)
  5. « https://gitbox.apache.org/repos/asf?p=zookeeper.git;a=commit;h=9a578eb52a4a3874f25a31337fbf1df152d6ce4a » (consulté le 23 septembre 2019)
  6. « Zookeeper Overview »
  7. « ZooKeeper/Powered By »
  8. « Presentation by Senior Engineer »
  9. « SolrCloud »
  10. « Zookeeper »

Liens externes