Présentation officielle ZooKeeper Avant,Voyons d'abord ZooKeeper L'origine de,C'est intéressant..
Le passage suivant est tiré de《De Paxos À ZooKeeper 》Chapitre 4, section 1,Je vous recommande de lire:
ZooKeeper Une équipe de recherche de l'Institut Yahoo a été créée pour la première fois.À l'époque,Les chercheurs ont découvert,De nombreux grands systèmes au sein de Yahoo dépendent essentiellement d'un système similaire pour la coordination distribuée,Mais ces systèmes ont tendance à avoir des problèmes de points uniques distribués.Alors...,Les développeurs de Yahoo ont essayé de développer un cadre de coordination distribué universel sans problème unique,Pour permettre aux développeurs de se concentrer sur la logique d'entreprise.
À propos de“ZooKeeper”Le nom de ce projet,Il y a aussi une histoire intéressante.Au début du projet,Compte tenu du fait que de nombreux projets internes précédents ont été nommés d'après les noms d'animaux(Comme le célèbre Pig Projets),Les ingénieurs de Yahoo veulent aussi donner un nom animal à ce projet.Le scientifique en chef de l'Académie RaghuRamakrishnan Je plaisante.:“En continuant comme ça,On va se transformer en zoo!”C'est tout.,Les gens disent qu'ils appellent ça un gardien de zoo parce que les composants distribués nommés d'après les animaux sont réunis,Tout le système distribué de Yahoo ressemble à un grand zoo,Et ZooKeeper Juste pour coordonner les environnements distribués, donc ,ZooKeeper C'est ainsi que le nom de .
ZooKeeper Est une source ouverteServices de coordination distribués,Il est conçu pour encapsuler des services de cohérence distribués complexes et sujets aux erreurs,Constituer un ensemble efficace et fiable de primitives,Et est fourni à l'utilisateur avec une série d'interfaces simples et faciles à utiliser.
Primitif: Provoque une synchronisation entre tous les serveurs.Est composé de plusieurs directives,Un processus utilisé pour remplir une fonction.Est indivisible·C'est - à - dire que l'exécution du primitif doit être continue,L'interruption n'est pas autorisée pendant l'exécution.
ZooKeeper Nous offre une grande disponibilité、Haute performance、Il sera finalement appliqué strictement séquentiellement à,Souvent utilisé pour réaliser des choses comme la publication de données/Abonnements、Équilibrage de la charge、Services de nommage、Coordination distribuée/Notification、Gestion des grappes、Master Elections、Fonctions telles que les serrures distribuées et les files d'attente distribuées.
En plus,ZooKeeper Enregistrer les données en mémoire,Les performances sont excellentes. In“Lire”Plus que“Écris.”En particulier dans les applications,Parce que“Écris.”Une solution stable de cohérence des données distribuées.(“Lire”Plus que“Écris.”Est un scénario typique pour la coordination des services).
ZooKeeper Aperçu général,Nous avons décrit l'utilisation qui est habituellement utilisée pour réaliser des choses comme la publication de données/Abonnements、Équilibrage de la charge、Services de nommage、Coordination distribuée/Notification、Gestion des grappes、Master Elections、Fonctions telles que les serrures distribuées et les files d'attente distribuées.
Choisissez ci - dessous 3 Un scénario d'application typique pour se concentrer sur:
En fait,,La mise en œuvre de ces fonctions bénéficie essentiellement de ZooKeeper Fonctions permettant de sauvegarder les données,Mais ZooKeeper Ne convient pas à la conservation de grandes quantités de données,C'est quelque chose à noter.
Le son cassé:Sortez le petit carnet,Ce qui suit est très important!
ZooKeeper Le modèle de données adopte une structure hiérarchique Multi - arbre,Les données peuvent être stockées sur chaque noeud,Ces données peuvent être numériques、Une chaîne ou une séquence à deux niveaux.Et.Chaque noeud peut également avoir N Sous - noeud,La couche supérieure est le noeud racine pour“/”Pour représenter.Chaque noeud de données est ZooKeeper Est appelé znode,C'est... ZooKeeper La plus petite Unit é de données.Et,Chaque znode Un identifiant de chemin unique.
Soulignez:ZooKeeper Principalement utilisé pour coordonner les services,Plutôt que de stocker des données commerciales,Donc ne mettez pas de plus grandes données dans znode Allez.,ZooKeeper La limite supérieure donnée est la taille maximale des données pour chaque noeud 1M.
Le graphique ci - dessous montre plus directement:ZooKeeper Méthode d'identification du chemin du noeud et Unix Les chemins du système de fichiers sont très similaires,Est une série de barres obliques"/"Représentation du chemin divisé,Les développeurs peuvent écrire des données humaines à ce noeud,Vous pouvez également créer des noeuds enfants sous les noeuds.Ces opérations sont décrites plus loin..
Introduction ZooKeeper Après le modèle de données arborescentes,Nous savons que chaque noeud de données ZooKeeper Est appelé znode,C'est... ZooKeeper La plus petite Unit é de données.C'est là que vous mettez vos données.,C'est vous qui l'utilisez. ZooKeeper Un concept que vous devez souvent aborder dans le processus.
Nous avons tendance à znode Divisé en 4 Grandes catégories:
/node1/app0000000001
、/node1/app0000000002
.Chaque znode Par 2 Composants partiels:
Celui - ci.《“javaGuide d'entrevue avec des notes élevées”-25Classification227(En milliers de dollars des États - Unis)1000+Questions50w+Analyse de mots》Partagez - le avec des amis dans le besoin,Les partenaires intéressés peuvent se défier,Sans regarder l'analyse des réponses,Testez votre propre niveau de résolution de problèmes,Cela peut aussi avoir un effet multiplicateur!(Les bonnes choses doivent être lues par tout le monde)