Aujourd’hui, je vous présente l’outil Apache ZooKeeper.
Présentation
ZooKeeper est un système de coordination de systèmes distribués et il est open-source.
Concrètement, il assiste les applications dans la gestion de leur scalabilité.
Il fonctionne lui-même en distribué.
Gestion des configurations
Le service d’assistance que propose ZooKeeper est la gestion des configurations de manière centralisée.
C’est ces configurations qui permettent la gestion de la mise à l’échelle des applications clientes.
Les applications qui l’utilisent
Plusieurs applications utilise Apache ZooKeeper pour fonctionner :
- Apache Hadoop ;
- Apache Kafka ;
- Apache Spark ;
- Apache Hive.
Pour ne citer qu’eux.
L’architecture
Son fonctionnement est en mode « client-serveur », c’est-à-dire qu’il y a les applications comme Kafka qui joue le rôle du client et qui va faire des demande à un des serveurs de ZooKeeper.
Si la demande du client est un besoin de lecture de données de configuration, alors le serveur lui répond.
Si la demande est un besoin d’écriture des données de configuration alors la demande est transmise au serveur « Leader » qui se charge de cette tâche et de la réplication des données à travers le système.
Les autres serveurs que Leader sont appelés les “Followers”
Haute disponibilité
ZooKeeper réplique les données sur plusieurs machines et à la possibilité de changer de machine maîtresse appelée « Leader ».
Cela lui permet donc de ne pas avoir de défaillance de service même si des machines (noeuds) du groupe (cluster) tombent en pannes.
Merci de votre lecture !