La replicació en Redis és una característica clau que permet la creació de còpies de seguretat de les dades en diferents servidors, millorant així la disponibilitat i la tolerància a fallades del sistema. En aquesta secció, explorarem els conceptes bàsics de la replicació, com configurar-la i com gestionar-la.
Conceptes Bàsics de la Replicació
Què és la Replicació?
La replicació en Redis implica la creació d'una o més còpies d'un servidor Redis (anomenat mestre) en altres servidors Redis (anomenats esclaus). Els esclaus mantenen una còpia exacta de les dades del mestre i poden servir les dades als clients, ajudant a distribuir la càrrega de treball i proporcionant redundància.
Beneficis de la Replicació
- Alta Disponibilitat: Si el servidor mestre falla, els esclaus poden continuar servint les dades.
- Escalabilitat: Els esclaus poden gestionar les sol·licituds de lectura, alleugerint la càrrega del mestre.
- Còpies de Seguretat: Els esclaus poden ser utilitzats com a còpies de seguretat en temps real.
Configuració de la Replicació
Configuració Bàsica
Per configurar un servidor Redis com a esclau d'un mestre, cal modificar el fitxer de configuració redis.conf
o utilitzar la línia de comandes.
Exemple de Configuració en redis.conf
Exemple de Configuració amb la Línia de Comandes
Exemple Pràctic
Suposem que tenim un servidor mestre en 192.168.1.100
al port 6379
. Per configurar un servidor esclau, podem fer el següent:
-
Editar el fitxer
redis.conf
de l'esclau:replicaof 192.168.1.100 6379
-
O iniciar el servidor esclau amb la línia de comandes:
redis-server --replicaof 192.168.1.100 6379
Verificació de la Replicació
Un cop configurat, podem verificar l'estat de la replicació utilitzant la comanda INFO replication
en el servidor esclau:
Això mostrarà informació sobre l'estat de la replicació, incloent-hi el mestre al qual està connectat l'esclau.
Gestió de la Replicació
Promoció d'un Esclau a Mestre
En cas de fallada del mestre, pot ser necessari promoure un esclau a mestre. Això es pot fer utilitzant la comanda SLAVEOF NO ONE
en l'esclau:
Sincronització Completa i Parcial
Redis suporta dos tipus de sincronització entre el mestre i els esclaus:
- Sincronització Completa: Quan un esclau es connecta per primera vegada al mestre, es realitza una sincronització completa. El mestre crea un instantani de les dades i l'envia a l'esclau.
- Sincronització Parcial: Si la connexió entre el mestre i l'esclau es perd temporalment, Redis intenta una sincronització parcial, enviant només les dades que han canviat des de la desconnexió.
Comandes Relacionades amb la Replicació
Comanda | Descripció |
---|---|
SLAVEOF |
Configura un servidor com a esclau d'un mestre. |
SLAVEOF NO ONE |
Promou un esclau a mestre. |
INFO replication |
Proporciona informació sobre l'estat de la replicació. |
REPLICAOF |
Equivalent a SLAVEOF , utilitzat en versions més recents de Redis. |
Exercici Pràctic
Exercici 1: Configurar un Esclau
- Configura un servidor Redis com a mestre en la teva màquina local.
- Configura un altre servidor Redis com a esclau del mestre.
- Verifica que l'esclau està sincronitzat amb el mestre utilitzant la comanda
INFO replication
.
Solució
-
Inicia el servidor mestre:
redis-server --port 6379
-
Inicia el servidor esclau:
redis-server --port 6380 --replicaof 127.0.0.1 6379
-
Verifica la replicació:
redis-cli -p 6380 INFO replication
Conclusió
La replicació en Redis és una eina poderosa per millorar la disponibilitat, escalabilitat i redundància del sistema. En aquesta secció, hem après els conceptes bàsics de la replicació, com configurar-la i com gestionar-la. Amb aquests coneixements, estàs preparat per implementar la replicació en els teus entorns Redis i assegurar-te que les teves dades estiguin sempre disponibles i segures.
Curs de Redis
Mòdul 1: Introducció a Redis
Mòdul 2: Estructures de Dades de Redis
Mòdul 3: Comandes i Operacions de Redis
Mòdul 4: Persistència de Redis
- Instantànies (RDB)
- Fitxers Només de Afegeix (AOF)
- Configuració de la Persistència
- Còpia de Seguretat i Restauració
Mòdul 5: Seguretat de Redis
Mòdul 6: Optimització del Rendiment de Redis
Mòdul 7: Clúster i Alta Disponibilitat de Redis
Mòdul 8: Mòduls i Extensions de Redis
- Introducció als Mòduls de Redis
- Mòduls Populars de Redis
- Creant Mòduls Personalitzats
- Utilitzant Redis amb Altres Tecnologies