Je cherchais actuellement dans memcached pour coordonner un groupe de serveurs, mais je suis tombé sur Apache's ZooKeeper en cours de route. Cela semble intéressant, et Yahoo l'utilise, donc ça ne devrait pas être mauvais, mais je n'en avais jamais entendu parler auparavant, donc je suis un peu sceptique. Quelqu'un d'autre a-t-il essayé? Des commentaires ou des idées? ZooKeeper et Memcached ont des objectifs différents:Est-ce que quelqu'un a essayé d'utiliser ZooKeeper?
Répondre
Vous pouvez utiliser memcached pour effectuer la coordination du serveur, mais vous devrez effectuer la majeure partie de ce travail vous-même. Memcached ne permet que la coordination en ce qu'il met en cache les recherches de données communes à utiliser par plusieurs clients. De la lecture de la documentation de ZooKeeper, elle a un objectif beaucoup plus large que celui-ci. ZooKeeper semble prendre en charge le clustering de serveurs, ce qui n'est pas la même chose que le clustering de cache fourni par memcached. Jetez un coup d'œil au Linux Journal article de Brad Fitzpatrick sur memcached pour avoir une meilleure idée de ce que je veux dire.
Pour avoir un aperçu de ce dont Zookeper est capable, regardez la présentation suivante de ses créateurs. Il est capable de bien plus encore (création de files d'attente, élection de processus maîtres parmi un groupe de pairs, configurations d'exécution haute performance réparties, points de rendez-vous pour les processus dissociés, détermination si les processus sont encore en cours, etc.).
http://zookeeper.sourceforge.net/index.sf.shtml
Pour répondre à votre question, si la « coordination » est ce que vous cherchez Zookeeper est beaucoup mieux ciblée à ce que memcached. Zookeeper est idéal pour la coordination des données sur les serveurs.
Il fait du bon travail en commandant chaque transaction et en garantissant que les transactions se déroulent dans l'ordre. Cependant, au moment de l'introduction, la documentation est nulle; C'est très «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) contenait ses propres bogues.
Votre code devra également prendre en compte les interactions pilotées par les événements et les interactions d'interrogation. Avec une architecture massivement distribuée, lorsque vous agissez sur des «événements», vous pouvez créer par inadvertance une bousculade qui ne serait pas souhaitable pour votre environnement (effet de troupeau).
- 1. Est-ce que quelqu'un a essayé html2pdf dans django?
- 2. Est-ce que quelqu'un a essayé la mémoire transactionnelle pour C++?
- 3. Est-ce que quelqu'un a essayé le plugin O3D de Google pour les graphiques 3D?
- 4. Quelqu'un a-t-il essayé le débogage inverse dans gdb?
- 5. Est-ce que quelqu'un a essayé et a réussi à rendre la démo iPhone PageControl d'Apple en mode paysage?
- 6. powershell: quelqu'un a-t-il essayé d'installer PowerShell sur le serveur Windows 2000?
- 7. php "script a essayé d'exécuter une méthode ou accéder à une propriété d'un objet incomplet" erreur
- 8. Quelqu'un a-t-il essayé de rendre les fonctions système de PHP plus orientées objet?
- 9. Quelqu'un a-t-il essayé le «Système de développement de la qualité ultime» de Divmod?
- 10. Quelqu'un a essayé de consoler? Solace - une plate-forme de support multilingue
- 11. Tout le monde a essayé de compiler Intel xf86_video_intel pour un autre OS
- 12. J'ai essayé serialize() mais ne semble pas fonctionner? Qu'est-ce que je fais mal?
- 13. Quelqu'un at-il essayé mosso CloudFiles avec Google AppEngine?
- 14. A « _ » chaque fois que j'utiliser un <a href Code
- 15. Quel processus accède au fichier qui a provoqué une exception d'E/S lorsque j'ai essayé de le supprimer?
- 16. J'ai essayé de faire fonctionner Log4Net avec Dependency Injection
- 17. SWIG pour faire des extensions PHP, avez-vous essayé?
- 18. Est-ce que Haskell a des variables?
- 19. Est-ce que Linq a "Différence"?
- 20. Est-ce que OpenFileDialog.Filenames a une limite?
- 21. Est-ce que quelqu'un a utilisé Raven?
- 22. Que signifie _ dans [a-zA-Z0-9_]?
- 23. Est-ce que Silverlight a un VirtualizingStackPanel?
- 24. Comment savoir ce que UITextField a causé une UIKeyboardWillShowNotification?
- 25. Est-ce que x86 a un incrément atomique qui conserve la valeur qui a été stockée?
- 26. A et B, B ne soulève d'exception que si A est Faux - conisdered un bon style?
- 27. python, "a in b" mot-clé, que diriez-vous de plusieurs a?
- 28. Est-ce que quelqu'un a utilisé un DMO en C#?
- 29. Est-ce que Linq to Sql a onChanging?
- 30. Est-ce que GCC a un temps de compilation intégré?