Ce chapitre présente les fonctionnalités des nœuds Zookeeper et des scénarios d'utilisation simples. C'est précisément grâce à ces fonctionnalités des nœuds que Zookeeper peut être utilisé pour développer des applications pour différents scénarios.
1. Les noms des clés des nœuds de même niveau sont uniques
Exemple :
$ ls / $ create /example 2

Si le nœud/exampleexiste déjà, le créer à nouveau indiquera qu'il existe déjà.
2. Lors de la création d'un nœud, le chemin complet doit être spécifié
Exemple :
$ ls /example $ create /example/child 0 $ create /example/child/ch01 0

3. Lorsque la session est fermée, les nœuds temporaires sont supprimés
Exemple :
$ ls /example $ create -e /example/echild 0

En même temps, affichez ce nœud dans le terminal 2 :
$ ls /example

ctrl+cAprès avoir fermé la connexion dans le terminal 1, interrogez le terminal 2/example/echildLe nœud disparaît.
$ ls /example

4. Créer automatiquement des nœuds séquentiels
Exemple :
$ create -s -e /example 0

5. Mécanisme de watch : écouter les changements de nœuds
Le mécanisme d'écoute d'événements est similaire au modèle observateur. Le flux de watch est : le client enregistre un watcher sur un chemin de nœud sur le serveur, et le client stocke également le watcher spécifique. Lorsque les données du nœud ou les nœuds enfants changent, le serveur notifie le client, et le client effectue un traitement de rappel. Remarque spéciale : une fois que l'événement d'écoute est déclenché une seule fois, l'événement devient invalide.
Astuce :Reportez-vous au chapitre Commandes courantes pour utiliser la commande get afin d'écouter avec watch. Les chapitres suivants présenteront en détail les principes de mise en œuvre de watch.
6. La commande delete ne peut supprimer les nœuds qu'un niveau à la fois
Exemple :
$ ls / $ delete /example

Astuce: Dans les versions plus récentes, vous pouvez utiliser la commandedeleteallpour supprimer récursivement.
Avec les nombreuses fonctionnalités de nœuds mentionnées ci-dessus, Zookeeper peut être utilisé pour développer différents scénarios d'application classiques, tels que :
- 1. Publication/abonnement de données
- 2. Équilibrage de charge
- 3. Coordination/notification distribuées
- 4. Gestion de cluster
- 5. Gestion de cluster
- 6. Gestion du master
- 7. Verrous distribués
- 8. Files d'attente distribuées