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ó

  1. Alta Disponibilitat: Si el servidor mestre falla, els esclaus poden continuar servint les dades.
  2. Escalabilitat: Els esclaus poden gestionar les sol·licituds de lectura, alleugerint la càrrega del mestre.
  3. 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

# Configuració de l'esclau
replicaof <mestre_host> <mestre_port>

Exemple de Configuració amb la Línia de Comandes

redis-server --replicaof <mestre_host> <mestre_port>

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:

  1. Editar el fitxer redis.conf de l'esclau:

    replicaof 192.168.1.100 6379
    
  2. 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:

redis-cli INFO replication

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:

redis-cli SLAVEOF NO ONE

Sincronització Completa i Parcial

Redis suporta dos tipus de sincronització entre el mestre i els esclaus:

  1. 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.
  2. 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

  1. Configura un servidor Redis com a mestre en la teva màquina local.
  2. Configura un altre servidor Redis com a esclau del mestre.
  3. Verifica que l'esclau està sincronitzat amb el mestre utilitzant la comanda INFO replication.

Solució

  1. Inicia el servidor mestre:

    redis-server --port 6379
    
  2. Inicia el servidor esclau:

    redis-server --port 6380 --replicaof 127.0.0.1 6379
    
  3. 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.

© Copyright 2024. Tots els drets reservats