Parece una tontería comparar estos dos servidores teniendo en cuenta que están destinados a cosas muy diferentes. Pero si lo piensa, pueden hacer muchas cosas similares: almacenar datos de configuración, bloqueo distribuido, colas, etc.
Tengo una instancia de Redis que estoy usando para algunas cosas relacionadas con la producción, pero me gustaría hacer una sincronización simple entre servidores (principalmente cambios de configuración que no requieren empujar el código y el bloqueo simple entre servidores). ¿Qué me da Zookeeper que Redis no haría?
database
synchronization
redis
Jason Baker
fuente
fuente
Respuestas:
Usamos Redis y Zookeeper en el trabajo, así que esto es por experiencia de primera mano.
Redis es rápido; Muy, muy rápido. También es inmediatamente consistente, por lo que es bueno para conjuntos de datos de rápido movimiento. La desventaja es que, si se ejecuta en un servidor, si falla, pierde el acceso de escritura hasta que otro servidor tome su lugar. Reemplazar el servidor es una operación manual a menos que lo automatice usted mismo. (Aún puede obtener acceso de lectura a sus datos si configura una instancia esclava).
Zookeeper también presenta consistencia inmediata. No es la mitad de rápido, pero se recuperará automáticamente (cuando sea posible) ante una falla, por lo que si necesita acceso de escritura continuo, incluso cuando sus servidores fallan, entonces querrá usar Zookeeper.
Mi consejo es que use Zookeeper para la coordinación: seguimiento de qué nodos están activos, elección de líder entre un grupo, etc. Use redis para conjuntos de datos que necesitan escrituras rápidas pero donde la interrupción ocasional no es un desastre. Contadores de visitas para páginas web, por ejemplo.
fuente