Clúster de Redis-Cluster

En el modo centinela, todavía hay un solo nodo maestro. Cuando las solicitudes de escritura simultáneas son grandes, el modo centinela no puede aliviar la presión de escritura.

En el clúster redis-cluster, cada nodo maestro puede agregar múltiples nodos esclavos. El nodo maestro y los nodos esclavos siguen las características del modo maestro-esclavo.

Cuando los usuarios necesitan manejar más solicitudes de lectura, agregar nodos esclavos puede ampliar el rendimiento de lectura del sistema.

El nodo maestro del clúster de Redis tiene funciones integradas de detección de fallas de nodo y conmutación por error automática similares a Sentinel. Cuando un nodo maestro en el clúster se desconecta, otros nodos maestros en línea en el clúster conmutarán por error el nodo maestro fuera de línea después de descubrirlo. El método de conmutación por error del clúster es básicamente el mismo que el método de conmutación por error de Sentient. La diferencia es que en el clúster, la conmutación por error la realizan otros nodos maestros en línea del clúster, por lo que no es necesario utilizar Sentinel en el clúster.

El clúster redis-cluster divide el espacio de almacenamiento de claves en 16384 ranuras. De hecho, el número máximo de nodos en el clúster es 16384. La recomendación oficial es que el número máximo de nodos no exceda los 1000 nodos. .

Todos los nodos maestros son responsables de una parte de las 16384 ranuras hash. Cuando un nodo en las 16384 ranuras es responsable del procesamiento, el clúster ingresa al estado en línea y comienza a procesar las solicitudes de comando de datos enviadas por el. cliente. .

Una ranura puede almacenar varios datos. La fórmula de cálculo de la ranura de clave es: HASH_SLOT = CRC16(key) mod 16384

Dado que el clúster de Redis no tiene un nodo central, las solicitudes se enviarán de forma aleatoria. a cualquier nodo maestro.

El nodo maestro solo procesará solicitudes de comando para la ranura de la que es responsable. Para las solicitudes de comando de otras ranuras, el nodo maestro devolverá un error de redirección al cliente.

El cliente reinicia la solicitud de comando al nodo maestro responsable correcto según la dirección y el puerto contenidos en el error.

Sistema: CentOS7

Redis: 5.0.9

Nodo de Redis

Nota:

El archivo de configuración es principalmente Modificación:

Resultados de la ejecución

Modifique e inicie de acuerdo con la configuración anterior, y use el siguiente comando para agregarlo al clúster:

Después de agregar el nuevo nodo, necesita El nodo maestro agregado reasigna las ranuras hash para que el nodo maestro pueda almacenar datos. Redis tiene 16384 ranuras.

Eliminar el nodo esclavo 192.168.164.13:7000, node_id: cb21c351b3d2378976bf7d215553d0e04d7fad43

Resultados de la ejecución

El nodo maestro con ranura no se puede eliminar directamente, por lo que debemos moverlo el primer nodo maestro 192.168.164.13: ranura 7001 para otros tres nodos maestros

Ver información del nodo del clúster

Eliminar el nodo maestro

Resultados de la ejecución

Ver información del clúster