Redis Sentinel es una herramienta integrada en Redis que permite supervisar instancias, detectar fallos y realizar failover automático para garantizar alta disponibilidad en entornos de producción.
1. Instalación de Redis Sentinel en Linux
Instalación en Debian y Ubuntu
sudo apt update
sudo apt install -y redis-server
Asegúrate de que el servicio esté habilitado:
sudo systemctl enable --now redis
Instalación en RHEL, CentOS y Fedora
sudo dnf install -y redis
sudo systemctl enable --now redis
Verifica la instalación con:
redis-cli ping
Debe responder con PONG
.
2. Configuración de Redis Sentinel
Editar el Archivo de Configuración
Abre el archivo de configuración de Redis Sentinel:
sudo nano /etc/redis/sentinel.conf
Configura el monitoreo del maestro:
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 10000
sentinel parallel-syncs mymaster 1
Guarda los cambios y cierra el archivo.
Habilitar el Servicio Sentinel
Ejecuta el siguiente comando para iniciar Sentinel:
sudo systemctl enable --now redis-sentinel
Verifica que el servicio esté corriendo:
sudo systemctl status redis-sentinel
3. Configuración de Monitoreo y Failover Automático
Añadir Réplicas
En cada servidor que actúe como réplica, configura Redis para que replique al maestro editando el archivo /etc/redis/redis.conf
:
replicaof 192.168.1.100 6379
Reinicia Redis para aplicar los cambios:
sudo systemctl restart redis
Simular un Failover
Para probar la conmutación por error, apaga el servidor maestro:
sudo systemctl stop redis
Redis Sentinel detectará la falla y promoverá una réplica como nuevo maestro.
4. Buenas Prácticas de Seguridad y Rendimiento
- Configura autenticación en Redis y Sentinel editando los archivos de configuración y agregando
requirepass
ysentinel auth-pass
. - Usa firewalls para restringir el acceso a Redis y Sentinel:
sudo ufw allow 26379/tcp # UFW
sudo firewall-cmd --add-port=26379/tcp --permanent # Firewalld
sudo firewall-cmd --reload
- Monitorea el estado de Sentinel con el comando:
redis-cli -p 26379 sentinel master mymaster
Con esta configuración, Redis Sentinel garantizará la disponibilidad y resiliencia de tu base de datos en producción. 🚀