Acepta solicitudes de clientes y las reenvía al redis correspondiente según el algoritmo hash.
Ventajas:
-Desarrollo simple, casi transparente para la aplicación
-Larga trayectoria, soluciones maduras.
Desventajas:
-El proxy afecta el rendimiento
-lvs y twemproxy tendrán cuellos de botella en el rendimiento de los nodos.
-La expansión de Redis es problemática.
Twitter ha abandonado este plan internamente y la nueva arquitectura no es de código abierto.
Codis:
Zookeeper:
Almacena tablas de enrutamiento y metadatos del nodo proxy.
Distribuir comandos Codis-Config.
codis-configuration:
Herramienta de gestión integrada con interfaz web.
codis-agent:
Proxy sin estado, compatible con el protocolo Redis
Transparente para las empresas
Codis-Redis:
Basado en la versión 2.8, desarrollo secundario.
Agregar soporte de slots y comandos de migración
Ventajas:
-Fácil de desarrollar, casi transparente para la aplicación
-Rendimiento mejor que Twemproxy
-interfaz gráfica, fácil de ampliar, fácil de operar y mantener.
Desventajas:
-El proxy aún afecta el rendimiento
-Hay demasiados componentes y requiere muchos recursos de la máquina
El El código de Redis se modifica. Como resultado, no se puede sincronizar con el sitio web oficial y poco a poco se siguen nuevas funciones.
-El equipo de desarrollo se está preparando para mejorar reborndb basándose en la transformación de redis.
Clúster de Redis:
Modo P2P, no centralizado
Divide la clave en 16384 ranuras.
Cada instancia es responsable de una parte de los slots.
Si la solicitud del cliente no está en la instancia conectada, la instancia se reenviará a la instancia correspondiente.
Sincronizar la información del nodo a través del protocolo Gossip
Ventajas:
-Componentes integrados, fáciles de implementar y ahorran recursos de la máquina.
-Rendimiento mejor que el modo proxy
-Conmutación por error automática, disponibilidad de datos en migración de slots
-Solución de clúster original oficial, actualizaciones y soporte garantizados.
Desventajas:
-La arquitectura es relativamente nueva y existen pocas mejores prácticas.
-Soporte limitado para operaciones de múltiples claves (los conductores pueden salvar el país a través de curvas)
-Para mejorar el rendimiento, el cliente necesita almacenar en caché la información de la tabla de enrutamiento.
-Las operaciones de descubrimiento y compartición de nodos no están lo suficientemente automatizadas.