Redis copia maestra de la presentación de los conceptos y las preguntas frecuentes relacionadas

directorio

En primer lugar, la copia maestra de la presentación de los conceptos relacionados

1.1, se ejecuta el servidor de ID (RunID)

1,2, tampón copia

1.3, copia principal de desplazamiento (offset) desde el servidor

1.4 mecanismo de latido del corazón

En segundo lugar, la replicación FAQ maestro-esclavo

2.1, el importe total de copia frecuentes

2.2, las interrupciones de red frecuentes

2.3, datos inconsistentes


En primer lugar, la copia maestra de la presentación de los conceptos relacionados

    1.1, se ejecuta el servidor de ID (RunID)

        1.1.1, el concepto de

        de ejecución del servidor de identificación es el número de identificación para cada servidor para cada ejecución, un solo servidor de ejecutar múltiples veces cada generarán un nuevo ID de ejecución.

        1.1.2, composición

         Dirigido por un ID de 40 caracteres es una cadena hexadecimal aleatorio.

         Por ejemplo: d3b533982f93bd8de30f58bf9a66093fe158d32c

        1.1.3 Rol

         ID de ejecución se utiliza para la transmisión entre los servicios, para la identificación.

         Si usted quiere tener dos operaciones en el mismo servidor, entonces cada operación se debe realizar el ID de operación correspondiente, que se utiliza para identificar el uno al otro.

        1.1.4, la implementación

         Marcha de ID se genera automáticamente cuando cada servidor se inicia, el anfitrión (master) en la primera conexión (esclavo), enviará su propia identificación para el funcionamiento del esclavo (esclavo), excepto este ID de la máquina (esclavo), a través de comandos información del servidor puede ver los nodos RunID.

    1,2, tampón copia

        1.2.1, el concepto de

        Copia tampón, también conocido como tampón replicación congestión es de una cola de primero en primero en salir (FIFO) para almacenar comandos ejecutados en el servidor, la propagación de cada comando, el maestro de comandos (Mater) están propagando registrada y almacenada en el búfer de copia.

        datos de copia por defecto memoria tampón de espacio de almacenamiento es 1 M, ya que el espacio de almacenamiento se fija, cuando el número de elemento en cola es mayor que la longitud de la cola, el primer elemento en el equipo será expulsado, y un nuevo elemento se coloca en la cola.

funcionamiento interno de la memoria intermedia de copia

         1.2.2, derivado de

        Cuando cada servidor se inicia, si hay AOF abierto o conectado convertirse en el nodo principal (master), es decir, para crear una memoria intermedia de copia.

        1.2.3 Rol

        Para guardar el host (maestro) todas las instrucciones recibidas (instrucción afecta sólo a los cambios de datos, como conjunto, seleccionar).

        1.2.4 Fuentes de datos

        Cuando el anfitrión (maestro) al cliente maestro recibe la instrucción, salvo que la ejecución de la instrucción, la instrucción se almacena en la memoria intermedia.

    1.3, copia principal de desplazamiento (offset) desde el servidor

        1.3.1, el concepto de

        Describe una instrucción de copia digital búfer lugares de bytes.

        1.3.2, clasificación

        · Un host (maestro) de compensación de copia : posición de grabación (s) instrucción a todos los esclavos (esclavos) que corresponden a byte;

        · Copia compensado esclavo (esclavo) : grabación de comandos posición de recepción de host (maestro) enviado desde el esclavo (esclavo) bytes correspondientes a (a).

        1.3.3 Fuentes de datos

        · Un host (maestro) Terminal : el envío de una grabación de una sola vez;

        · Slave lado (esclavo) : la recepción de una grabación de una sola vez.

        1.3.4 Rol

       información de sincronización diferencia, en comparación con un host (maestro) y un esclavo (esclavo) cuando el esclavo (esclavo) rota, se utiliza para recuperar los datos.

    1.4 mecanismo de latido del corazón

        1.4.1, el concepto de

        Al introducir el comando desde la etapa de copia maestra de propagación, tiene que ser entre el host (maestro) y el esclavo (esclavo) el intercambio de información, mediante el mecanismo de latido para el mantenimiento, para lograr los dos lados permanecen conectados en línea.

        1.4.2, el mecanismo de trabajo

        latidos maestro:

           · Comando: mesa de ping

           • Ciclo: determinado por repl-ping-esclavo-periodo, 10 segundos por defecto

           · Rol: A juzgar por la máquina (esclavo) en línea

           * Consulta: información de replicación # conseguir el último tiempo de conexión de esclavos, retraso término mantuvo a 0 o 1 como normales

        esclavo latidos del corazón:

           · Instrucción: REPLCONF ACK {compensar}

           • Ciclo: 1 segundo

           · Función 1: Informando desde una máquina (esclavo) propia copia de compensación, obtenga el último comando de cambio de datos

           · Función 2: Determinar el host (maestro) no está en línea

        1.4.3, las notas de la etapa del latido del corazón

        una, cuando el esclavo (esclavo) más cayó, o de alta latencia, el anfitrión (maestro) para garantizar la estabilidad de los datos, toda la información será rechazada funcionamiento síncrono;

# 从机(slave)数量少于2个,或者所有从机(slave)的延迟都大于等于10秒时,强制关闭主机(master)写功能,停止数据同步
min-slaves-to-write 2
min-slaves-max-lag 10

        Número b, el esclavo (esclavo) por el esclavo (esclavo) REPLCONF ACK transmisión de comandos para hacer la confirmación;

        c, de la máquina (esclavo) REPLCONF ACK transmisión de comandos se retrasa por un esclavo (esclavo) para la confirmación de maquillaje;

En segundo lugar, la replicación FAQ maestro-esclavo

    2.1, el importe total de copia frecuentes

        2.1.1, el importe total de copia frecuente (un problema)

        síntomas:

        Con el funcionamiento del sistema, el anfitrión (maestro) será cada vez más grandes cantidades de datos, una vez que el host (maestro) para reiniciar el ID de servidor que ejecuta (RunID) va a cambiar, que dará lugar a todos los esclavos (esclavos) están llenos cantidad de replicación .

        Soluciones de optimización interna (ajustado):

        a, host (maestro) para crear variable interna maestro Replid, utilizando la misma estrategia RunID generado, una longitud de 40 bits, y se envía a todos los esclavos (esclavo);

        B, ejecutado cuando el host (maestro) para cerrar el cierre de comandos guardar, por RDB persistente, RDB se RunID guardado en un archivo con el desplazamiento;

        Nota: repl-id, repl-offset se pueden ver por el comando Redis-cheque-RDB.

        C, el anfitrión (maestro) para cargar el archivo después de reiniciar RDB, recuperación de datos, reiniciar, cargar el archivo guardado RDB repl-id y repl-offset en la memoria.

        NOTA: master_repl_id = repl-id, master_repl_offset = repl-offset, para ver el comando info información.

        papel:

        Este servidor está en ejecución y guardar el último ID (RunID), después de la reanudación para restaurar los valores que todos los esclavos (esclavos) creen que el anfitrión o antes (maestro), siguen replicar los datos del registro de desplazamiento de copia (offset), evitar el importe total copiar.

        2.1.2, el importe total de copia frecuentes (pregunta dos)

        síntomas:

        entorno de red deficiente, se produce interrupción de la red, el esclavo (esclavo) no presta servicios.

        Problema Causa:

        Copia búfer es demasiado pequeño, la red fuera del esclavo (esclavo) la replicación de desplazamiento (offset) fuera de rango, el importe total de la replicación del gatillo.

        El resultado final:

        Esclavo (esclavo) repite toda la cantidad de copia.

        solución:

        Modificar el tamaño del búfer de copia.

repl-backlog-size

        ajustes recomendados son los siguientes:

        1, cuando la medición promedio de peso, incluso desde el host (maestro) al esclavo (esclavo) SEGUNDO largo;

        2, adquiere el host (maestro) en una cantidad media de datos por segundo write_size_per_second comando de escritura;

        3, la mayoría búfer de copia espacio = 2 * segundos * write_size_per_second.

    2.2, las interrupciones de red frecuentes

        2.2.1, las interrupciones de red frecuentes (un problema)

        síntomas:

        Host (maestro) o un alto CPU frecuencia desconectados de la máquina (esclavo).

        Problema Causa:

        · Esclavo (esclavo) por segundo orden de transmisión REPLCONF ACK al Maestro;

        • Cuando el esclavo (esclavo) la ejecución de consultas lentas (teclas *, hgetall, etc.), se llevará una gran cantidad de rendimiento de la CPU;

        Un host (maestro) llamada de función para copiar el replicationCron tiempo por segundo (), en comparación con esclavo (esclavo) no se encuentra por un largo tiempo para responder.

        El resultado final:

        Varios recursos de host (tampón de salida, ancho de banda, conectividad, etc.) es muy ocupados.

        solución:

        Al establecer un tiempo de espera razonable, confirmar la liberación del esclavo (esclavo).

repl-timeout

        NOTA: Este parámetro define el tiempo de espera de umbral (por defecto 60 segundos), si más de este valor, es decir, liberado de la máquina (esclavo).

        2.2.2, las interrupciones de red frecuentes (pregunta dos)

        síntomas:

        Esclavo (esclavo) host (maestro) desconectado.

        Problema Causa:

        Un host (maestro) transmite un ping es menor en frecuencia;

        · Anfitrión Timeout (master) se establece más corta;

        · Comando Ping existe pérdida de paquetes en la red.

        solución:

        Para aumentar la frecuencia de transmisión de la instrucción de ping.

repl-ping-slave-period

        NOTA: repl-tiempo valor de instrucción de tiempo de tiempo de espera de ping de al menos 5 a 10 veces la frecuencia de, si el esclavo (esclavo) se puede determinar fácilmente a cabo, el resultado será lanzado.

    2.3, datos inconsistentes

        2.3.1, inconsistencias de datos (un problema)

        síntomas:

       Una pluralidad de esclavos (esclavo) para obtener los mismos datos no está sincronizado.

       Problema Causa:

       información de la red no está sincronizado, el retardo de transmisión de datos.

       solución:

       · Optimizar el entorno de red entre el maestro y el esclavo, a menudo se encuentra en la misma habitación para desplegar (dentro de la misma LAN), a prestar atención a este fenómeno como el uso Ali nube y otro servidor de la nube;

       · Desde el nodo maestro al retraso del monitor (por desplazamiento) se determina, si el esclavo (esclavo) de retardo es demasiado grande, el programa bloqueado temporalmente el acceso a los datos del esclavo (esclavo) a.

slave-serve-stale-data yes|no

       Nota: Abierto sólo responden información, slaveof y algunos otros comandos (con precaución, a menos que la consistencia de los datos exigente).


Publicado 47 artículos originales · elogios ganado 16 · Vistas a 70000 +

Supongo que te gusta

Origin blog.csdn.net/zorro_jin/article/details/104042557
Recomendado
Clasificación