Question

Apache Zookeeper est une sorte de magasin de données disponible élevé pour les petits objets. Un cluster de gardien de zoo se compose de quelques nœuds qui gardent tous l'ensemble de données dans leur mémoire. L'ensemble de données est appelé «toujours cohérent», donc chaque nœud a les mêmes données à chaque fois.

Selon la documentation et articles de blog, chaque nœud du cluster peut répondre à des lectures et accepter les écritures.

  • Les lectures sont toujours répondues localement par le nœud, donc aucune communication avec le cluster n'est impliquée.
  • Les écritures sont transmises à un nœud "leader" désigné, qui transmet la requête en écriture à tous les nœuds et attend leurs réponses. Si au moins la moitié des nœuds répondent, l'écriture est considérée comme réussie.

Question: Pourquoi est-il suffisant pour que le leader attende la moitié des nœuds pour répondre? Si quelqu'un se connecte à l'un des nœuds qui n'a pas reçu la mise à jour, il obtient un résultat obsolète (seule lecture locale à la valeur locale).

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top