Apache ZooKeeper

Un article de Wikipédia, l'encyclopédie libre.
Apache ZooKeeper
Description de l'image Apache ZooKeeper logo.svg.

Informations
Développé par Apache Software FoundationVoir et modifier les données sur Wikidata
Première version [1]Voir et modifier les données sur Wikidata
Dernière version 3.9.2-0 ()[2]Voir et modifier les données sur Wikidata
Dépôt github.com/apache/zookeeperVoir et modifier les données sur Wikidata
Écrit en JavaVoir et modifier les données sur Wikidata
Environnement Machine virtuelle JavaVoir et modifier les données sur Wikidata
Type Projet de la fondation Apache (d)
Bases de données clé-valeurVoir et modifier les données sur Wikidata
Licence Licence ApacheVoir et modifier les données sur Wikidata
Site web zookeeper.apache.orgVoir et modifier les données sur Wikidata

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 était un sous projet de Hadoop mais il est désormais un projet top-level à part entière.

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[3].

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

Architecture Apache ZooKeeper[modifier | modifier le code]

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[7].

Cas d'utilisation classique[modifier | modifier le code]

Bibliothèques cliente[modifier | modifier le code]

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

Projets Apache utilisant ZooKeeper[modifier | modifier le code]

etc.

Articles connexes[modifier | modifier le code]

Références[modifier | modifier le code]

  1. « https://projects.apache.org/json/projects/zookeeper.json » (consulté le )
  2. « Release 3.9.2-0 », (consulté le )
  3. « Zookeeper Overview »
  4. « ZooKeeper/Powered By »
  5. « Presentation by Senior Engineer »
  6. « SolrCloud »
  7. « Zookeeper »

Liens externes[modifier | modifier le code]