Question

J'étais actuellement à la recherche de memcached pour coordonner un groupe de serveurs, mais je suis tombé sur Apache's ZooKeeper le long du chemin. Cela semble intéressant, et Yahoo l'utilise, donc ça ne devrait pas être mauvais, mais je n'en avais jamais entendu parler auparavant, alors je suis plutôt sceptique. Est-ce que quelqu'un d'autre a essayé? Des commentaires ou des idées?

Était-ce utile?

La solution

ZooKeeper et Memcached ont des objectifs différents. Vous pouvez utiliser memcached pour faire la coordination de serveur, mais vous devrez faire la plupart de ce travail vous-même. Memcached n'autorise la coordination que dans la mesure où il met en cache les recherches de données courantes devant être utilisées par plusieurs clients. La lecture de la documentation de ZooKeeper révèle que son objectif est beaucoup plus vaste. ZooKeeper semble prendre en charge le clustering de serveurs, différent de celui fourni par memcached pour le clustering de cache.

Consultez le Linux Journal de Brad Fitzpatrick, article sur memcached pour avoir une meilleure idée de ce que je moyenne.

Autres conseils

Pour avoir un aperçu de ce dont Zookeper est capable, regardez la présentation suivante de ses créateurs. Il est capable de beaucoup plus (création de files d'attente, élection de processus principaux parmi un groupe de pairs, configurations d'exécution hautes performances distribuées, points de rendez-vous pour les processus dissociés, détermination si des processus sont toujours en cours d'exécution, etc.).

http://zookeeper.sourceforge.net/index.sf.shtml

Pour répondre à votre question, si "coordination" C’est ce que vous recherchez Zookeeper est bien mieux ciblé que memcached.

Zookeeper est idéal pour la coordination des données entre serveurs. C'est un bon travail de commander chaque transaction et de garantir que les transactions se déroulent dans l'ordre. Cependant, lors de la première utilisation, la documentation est nulle; c'est très «de haut niveau» sans suffisamment d'exemples concrets ou d'explications pour gérer correctement certains événements. L’un des exemples inclus (à partir de la version 3.3.3) comportait ses propres bogues.

Votre code devra également prendre en compte les interactions événementielles et les interactions de sondage. Avec une architecture massivement distribuée, lorsque vous agissez sur des "événements", vous pouvez créer par inadvertance une ruée qui ne serait pas souhaitable pour votre environnement (effet de rassemblement).

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