replicación Redis replicación maestro-esclavo

   A: REDIS replicación de la mecánica de núcleo

(1) REDIS de forma asíncrona copiar datos al nodo esclavo, pero se inicia REDIS 2,8, nodo esclavo reconoció periódicamente cantidad de datos por propia replicación
(2) es un nodo maestro de la pluralidad de esclavos Node
(. 3) esclavo nodo también puede conectarse a otro nodo del esclavo
(4) copia del esclavo nodo hacer cuando se está funcionando correctamente no bloqueará el nodo maestro de
(5) nodo esclavo al hacer la replicación, que no bloquee la consulta de operaciones por cuenta propia, se utilizará sets de datos para proporcionar servicios; sin embargo, cuando se haya completado la copia, es necesario eliminar el antiguo conjunto de datos, cargar el nuevo conjunto de datos, esta vez será la suspensión del servicio exterior
(6) nodo esclavo se utiliza principalmente para la expansión horizontal, no leer y escribir la separación, el nodo esclavo lee expansión rendimiento se puede mejorar
 

Dos: amo importancia duradera para la arquitectura maestro-esclavo de la seguridad de

Si una arquitectura maestro-esclavo, se recomienda a ser entregados persistencia nodo maestro!

No se recomienda su uso como un nodo nodo maestro de reserva en caliente esclavo de datos, porque en ese caso, si se apaga el maestro persistente puede reiniciar cuando el tiempo de inactividad en los datos maestros está vacía, y luego puede ir a través de una copia, datos del nodo salve también pierden a.

master -> RDB y AOF se cierran -> Sólo en la memoria

dominar, reiniciar, no hay datos locales pueden ser restaurados, entonces se considerará a sí mismos directamente IDE de datos está vacío, los datos maestros vacíos se sincronizarán con el esclavo establecido, todos los datos de todos los esclavos vacía. la pérdida de datos 100%

nodo maestro, se debe utilizar el mecanismo de persistencia

En segundo lugar, maestro de varios programas de copia de seguridad, o de lo contrario hacer, si decimos a todos archivo local no se encuentra, la selección de un rdb principal para restaurar la copia de seguridad, de modo que se garantice que el tiempo de arranque maestro, no hay datos.

Incluso con los mecanismos de alta disponibilidad, el nodo esclavo puede tomar automáticamente el nodo maestro, también es posible centinela no se ha detectado fallo del maestro, nodo maestro se reinicia automáticamente, o puede dar lugar a un fracaso para vaciar todos los datos del nodo esclavo anterior.

 

Tres: El principio básico de la arquitectura maestro-esclavo

Cuando se inicia un nodo esclavo cuando se envía una psync comando al nodo maestro

Si este es el nodo maestro de reconexión nodo esclavo, entonces el nodo maestro a los esclavos copias sólo una parte de datos que faltan, de lo contrario, si el nodo esclavo es primero conectado nodo maestro, que dará lugar a una resincronización completa . Hora de inicio de resincronización completa, el maestro inicia un subproceso de fondo para empezar a generar un archivo de instantánea RDB , sino también todos los comandos de escritura desde el cliente recibe el caché en memoria. Una vez finalizada la generación de archivos de RDB, maestro será enviado a la RDB Esclavo, SL ave en primer lugar escribir en el disco local y luego se cargan desde el disco local en la memoria . Entonces el maestro escribirá comando de la memoria caché se envía al esclavo, esclavo sincronizará los datos.

nodo esclavo con el nodo maestro si hay un fallo en la red, desconectado, se vuelva a conectar automáticamente. maestro si hay nodo esclavo múltiple para volver a conectar, simplemente iniciar una operación de salvar RDB, todos los servicios de datos con un nodo esclavo.

Cuatro: master-esclavo de replicación HTTP

Desde el principio ReDiS 2.8, es compatible con la replicación maestro-esclavo HTTP, si la replicación maestro-esclavo, conexiones de red cortada, a continuación, puede copiar el último lugar, continuar replicarlo, en lugar de empezar desde cero copia. nodo maestro será común en la memoria un retraso , el Maestro y esclavo mantiene un desplazamiento de réplica , así como un Maestro de la anteriormente mencionada ID , Offset se almacena en la acumulación de. Si las conexiones de red maestro y esclavo cortados, maestro esclavo continuará inicie desde la última copia de la réplica de compensación

Sin embargo, si la compensación correspondiente no se encuentra, se llevará a cabo una resincronización

Cinco: No se copia del disco

maestra creada en memoria directamente RDB, y luego enviado al esclavo, no en su propio disco local de aterrizaje

sin disco-Sync-repl
repl-sin disco-Sync-Delay, espera durante un cierto período de tiempo antes de comenzar a copiar, porque más esclavo que esperar para volver a conectar más de

Seis: procesamiento de clave caducado

esclavo no caduca clave, sólo tiene que esperar por la llave maestra expirado. Si una llave maestra caducado, o por LRU de una clave, se simulará un comando del al esclavo.

Siete: Proceso de copia

1) comienza nodo esclavo, guardar sólo nodo de información maestro, incluyendo el nodo maestro y el IP del anfitrión, pero no se ha iniciado procesos de replicación

host maestro y ip es de dónde venían, configuración redis.conf dentro slaveof

(2) nodo esclavo tiene una tarea interna periódica para comprobar si un segundo nodo al nuevo Maestro y replicar, si se encuentra, al igual que el nodo maestro para establecer una toma de conexión de red
(3) esclavo nodo nodo transmite un comando ping al Maestro
(. 4) autenticación de contraseña, si el conjunto maestro requirepass , entonces el nodo ungüento debe enviar masterauth autenticación de contraseña en el pasado
(5) nodo maestro por primera vez la realización de una copia de volumen completo, todos los datos enviados al esclavo nodo
(6) continuó a dominar el comando nodo escritura posterior, replicación asíncrona al nodo esclavo

Ocho: mecanismos de sincronización de datos relacionados con el núcleo

Se refiere al primer esclavo cuando está conectado msater el importe total de los mecanismos de replicación de ejecución de ese proceso dentro de algunos de los detalles de su

(1) maestro y esclavo mantendrán un offset

Master en sí se siguen acumulando offset, esclavo se siguen acumulando en sí mismo desplazamiento
esclavo informará compensar al maestro su segundo, al tiempo que ahorra desplazamiento de cada maestro esclavo

No es que esta copia en particular para su uso en la cantidad total, sobre todo maestro y el esclavo deben conocer sus datos de corrección, datos inconsistentes entre sí con el fin de conocer la situación

(2) retraso

nodo maestro tiene un atraso, el tamaño predeterminado es de 1 MB
nodo maestro al nodo esclavo al copiar datos, será la sincronización de datos de la cartera de escritura una
cartera de pedidos se utiliza principalmente para hacer cantidad incremental completa después de la copia de copia con interrupción

(3) maestro marcha de ID

servidor de información, se puede ver la Marcha de ID maestro
si se basa en el host + ip localizar nodo maestro, no vuelan, si el reinicio del nodo maestro o los datos han cambiado, entonces el nodo esclavo debe diferenciarse en función de los diferentes Marcha de ID, marcha de ID diferente para hacer copiar la cantidad completa
si es necesario cambiar la Marcha de ID no Redis reinicio, puede utilizar el comando Redis-CLI de depuración de recarga

(4) psync

De usos nodo psync ser copiados desde el Nodo Maestro, RunID psync compensado
Maestro la información de respuesta vuelve nodo de acuerdo con sus propias circunstancias, puede ser FULLRESYNC RunID compensar el importe total de la replicación del gatillo, la replicación incrementales puede ser desencadenada CONTINUAR

3, el conjunto cantidad de replicación

(1) dominar el bgsave aplicación, rdb generar un archivo de instantánea local
(2) nodo maestro será enviado a archivos salve nodo RDB instantánea, copia rdb si hay más de 60 segundos (repl-tiempo de espera), entonces el nodo esclavo asumirán errores de replicación , este parámetro se puede ajustar apropiadamente grande
(3) para la máquina de Gigabit Ethernet, por lo general de 100 MB por segundo, archivos 6G, muy probablemente más de 60 años
(4) Domina el nodo al generar RDB, todo nuevo comando de escritura se almacenan en caché en la memoria después, el rdb nodo salve salvado, luego copia el nuevo comando de escritura al nodo salve
-Client límite de 64 MB-256 MB-buffer de salida (5) Slave 60, si durante la replicación, buffers de memoria continúan consumiendo más de 64 MB, o uno de más de 256 MB, la replicación entonces parada, la replicación falla
(6) nodo esclavo después de recibir RDB, vaciar sus datos antiguos, y luego rdb carga a la memoria una vez más, al mismo tiempo ofrecer servicios basados en la versión anterior de los datos
(7) Si el esclavo nodo abre la AOF, a continuación, realiza BGREWRITEAOF inmediato, AOF reescritura

RDB genera, a través de la copia de red RDB, limpieza de datos esclavo de edad, esclavo AOF reescritura, es mucho tiempo

Si la cantidad de datos que se replica entre 4G ~ 6G, es probable que la cantidad total de tiempo dedicado a la copia de uno y medio a dos minutos

4, la replicación incrementales

(1) Si la cantidad total del proceso de replicación, conexión de red maestro-esclavo se rompe, vuelva a conectar cuando maestro ungüento, desencadenará la replicación incrementales
(2) maestro la parte que falta para obtener datos directamente de su cartera de pedidos para enviar al nodo esclavo, el retraso predeterminado es 1 MB
(. 3) se utiliza para obtener datos de msater según retraso acumulado de transmisión esclavo psync en el offset

5, latido del corazón

Desde el nodo maestro enviará un mensaje de latido entre sí

El maestro predeterminado envía una vez cada 10 segundos latido del corazón, ungüento nodo transmite un latido del corazón cada 1 segundo

6, la replicación asíncrona

Después de cada maestro recibe el comando de escritura, la escritura de datos interna ahora, y para enviar un nodo esclavo asíncrono

 

 Dos operaciones básicas de replicación Redis:

  1. Resincronización (la resincronización)
    • resincronización completa (full resincronización)
    • resincronización Parte (resincronización parcial)
  2. la transmisión de comandos (comando Propagar)
Publicado 50 artículos originales · ganado elogios 2 · Vistas 2305

Supongo que te gusta

Origin blog.csdn.net/eafun_888/article/details/100012911
Recomendado
Clasificación