Il semble stupide de comparer ces deux serveurs étant donné qu'ils sont destinés à des choses très différentes. Mais si vous y réfléchissez, ils peuvent faire beaucoup de choses similaires: stocker les données de configuration, le verrouillage distribué, la mise en file d'attente, etc.
J'ai une instance de Redis que j'utilise pour certaines choses liées à la production, mais je voudrais faire une synchronisation simple entre les serveurs (principalement des changements de configuration qui ne nécessitent pas de pousser le code et un simple verrouillage entre les serveurs). Que me donne Zookeeper que Redis ne donnerait pas?
database
synchronization
redis
Jason Baker
la source
la source
Réponses:
Nous utilisons à la fois Redis et Zookeeper au travail, c'est donc une expérience de première main
Redis est rapide; vraiment, vraiment rapide. Il est également immédiatement cohérent, il convient donc aux ensembles de données à déplacement rapide. L'inconvénient est que, en cours d'exécution sur un serveur, s'il échoue, vous perdez l'accès en écriture jusqu'à ce qu'un autre serveur prenne sa place. Le remplacement du serveur est une opération manuelle, sauf si vous l'automatisez vous-même. (Vous pouvez toujours obtenir un accès en lecture à vos données si vous configurez une instance esclave).
Zookeeper offre également une cohérence immédiate. Ce n'est pas à moitié aussi rapide, mais il se rétablira automatiquement (si possible) en cas d'échec, donc si vous avez besoin d'un accès en écriture continu, même lorsque vos serveurs tombent en panne, vous voudrez utiliser Zookeeper.
Mon conseil est d'utiliser zookeeper pour la coordination: suivre quels nœuds sont actifs, élection de leaders parmi un groupe, etc. Utilisez redis pour les jeux de données qui nécessitent des écritures rapides mais où la panne occasionnelle n'est pas un désastre. Frappez les compteurs pour les pages Web par exemple.
la source