Mi informacion de contacto
Correo[email protected]
2024-07-08
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Cuando un nodo Redis (nodo esclavo) recibe una instrucción similar a la del esclavo 127.0.0.1 6380 hasta que pueda continuar copiando datos del maestro, generalmente pasa por el siguiente proceso:
Cuando el esclavo recibe el comando Slaveof, el esclavo guardará inmediatamente la nueva dirección maestra.
El esclavo mantiene una tarea programada, que intentará establecer una conexión de socket con el maestro. Si no se puede establecer la conexión, lo volverá a intentar periódicamente hasta que la conexión sea exitosa o no se reciba ningún comando esclavo.
Una vez que la conexión se haya establecido exitosamente, el esclavo enviará el comando ping para la primera comunicación. Si el esclavo no recibe una respuesta del maestro, el esclavo se desconectará activamente y la siguiente tarea programada reintentará la conexión.
Si el maestro recibe el comando ping del esclavo, no responderá inmediatamente, sino que realizará la autenticación primero.Si la verificación falla, se enviará un mensaje para rechazar la conexión; si la verificación es exitosa, se enviará una respuesta de conexión exitosa al esclavo.
Después de que la primera comunicación sea exitosa, el esclavo enviará una solicitud de sincronización de datos al maestro. Cuando el maestro recibe la solicitud, bifurcará un proceso hijo para que el proceso hijo pueda persistir inmediatamente de forma asincrónica.
Una vez completada la persistencia, el maestro bifurcará un proceso hijo y permitirá que el proceso hijo envíe datos al esclavo de forma asincrónica. El esclavo escribirá continuamente los datos recibidos en el archivo de persistencia local.
Durante el proceso de sincronización de datos del esclavo, el proceso principal del maestro todavía acepta continuamente operaciones de escritura del cliente y no solo escribe nuevos datos en la memoria del maestro, sino que también los escribe en el caché de sincronización. Después de enviar los datos en el archivo de persistencia del maestro, el maestro enviará los nuevos datos en el caché de sincronización al esclavo, y el esclavo los escribirá en el archivo de persistencia local.Sincronización de datos completada
Cuando se completa la sincronización de datos entre el esclavo y el maestro, el esclavo leerá el archivo persistente local, lo restaurará en la memoria local y luego proporcionará servicios de lectura externos.
Durante el proceso de prestación de servicios externos del esclavo, el maestro enviará continuamente nuevos datos al esclavo de manera incremental para garantizar la coherencia de los datos maestro-esclavo.