Compartir tecnología

6. Construcción del clúster maestro-esclavo de Redis

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Construcción de clúster maestro-esclavo de Redis

1. ¿Qué es el clúster maestro-esclavo de Redis?

El clúster maestro-esclavo de Redis es un clúster de separación de lectura y escritura de "un maestro y varios esclavos". El nodo maestro en el clúster es responsable de las solicitudes de lectura y escritura del cliente, mientras que el nodo esclavo es responsable de las solicitudes de lectura del cliente. La razón por la que el clúster debe configurarse en modo de separación de lectura y escritura es principalmente porque para los clústeres de bases de datos, la presión de la operación de escritura generalmente es menor y la presión de lectura es mayor. Entonces, solo un nodo es responsable de procesar las operaciones de solicitud de escritura.

2. Construcción y configuración de pseudoclústeres

Cuando se utiliza el modelo IO de un solo subproceso, para mejorar la utilización del procesador, generalmente se instalan varios Redis en un host para construir un pseudoclúster maestro-esclavo de Redis. Por supuesto, el escenario del pseudo-clúster se trata principalmente de aprender Redis.

El pseudoclúster de separación de lectura y escritura que se construirá a continuación contiene un maestro y dos esclavos. Sus números de puerto corresponden a: 6380, 6381, 6382.

2.1. Copie el archivo redis.conf

​ En el directorio de instalación de Redis, mkdir un directorio llamado cluster. Luego copie el archivo redis.conf a este directorio. El archivo modificado se incluirá en otros archivos de configuración más adelante, por lo que los mismos atributos públicos de cada nodo Reids deben configurarse en este archivo.

2.2. Modificar el archivo redis.conf

2.2.1, autenticación maestra

Debido a que queremos construir un clúster maestro-esclavo y cada host puede leer desde el Maestro, es mejor configurar el atributo de verificación de contraseña requirepass. Si realmente necesita configurarlo, asegúrese de establecer la contraseña para cada host en el mismo valor. En este momento, se deben establecer dos atributos idénticos en cada archivo de configuración: requirepass y msterauth. Entre ellos, requirepass se usa para especificar la contraseña de acceso al host actual y masterauth se usa para especificar la contraseña de acceso enviada cuando el esclavo actual está en el maestro, que se usa para permitir que el maestro verifique si su identidad es legal.

2.2.2. Deshabilitar el retraso del nodo TCP en la respuesta
  1. ¿Qué es el retardo de nodo TCP?

    Debemos saber que para reducir el ancho de banda de la red, TCP siempre quiere enviar un bloque de datos lo más grande posible al transmitir datos. Por lo tanto, el algoritmo de Nagle se utiliza en TCP. Este algoritmo almacena en caché los datos a un tamaño determinado antes de empaquetarlos y enviarlos.

  2. Configuración de parámetros repl-disable-tcp-nodelay:

    Este atributo se utiliza para configurar el algoritmo para deshabilitar la función TCP tcp-nodelay. Cuando se establece en Sí, está deshabilitado (es decir, los datos se almacenan en caché a un cierto tamaño antes de enviarlos). En este momento, la comunicación entre el maestro y el esclavo se retrasará, pero se reducirá la cantidad de paquetes TCP utilizados. y el ancho de banda de la red será menor. No es todo lo contrario. Nota: Cuando hay muchos niveles maestro-esclavo, se recomienda configurarlo en no para evitar retrasos en los datos.

2.3. Construcción específica

Artículo de referencia:

http://t.csdnimg.cn/Fjyhw