Redis sert de base de données en mémoire rapide, mais une instance seule tombe avec son serveur. Redis Sentinel surveille les nœuds et bascule sur un esclave dès que le master lâche. Ce guide montre comment déployer un cluster Redis avec Sentinel via Docker Compose.
Prérequis
- Un serveur Linux avec Docker et Docker Compose installés
- Accès root ou sudo
Structure du cluster
- 1 nœud maître Redis
- 2 nœuds esclaves Redis
- 3 nœuds Sentinel (quorum)
Fichier docker-compose.yml
Créez un fichier docker-compose.yml :
services:
redis-master:
image: redis:7
container_name: redis-master
command: redis-server --appendonly yes
ports:
- '6379:6379'
volumes:
- redis-master-data:/data
redis-slave-1:
image: redis:7
container_name: redis-slave-1
command: redis-server --appendonly yes --replicaof redis-master 6379
depends_on:
- redis-master
volumes:
- redis-slave1-data:/data
redis-slave-2:
image: redis:7
container_name: redis-slave-2
command: redis-server --appendonly yes --replicaof redis-master 6379
depends_on:
- redis-master
volumes:
- redis-slave2-data:/data
sentinel-1:
image: redis:7
container_name: sentinel-1
command: redis-sentinel /sentinel.conf
volumes:
- ./sentinel.conf:/sentinel.conf
depends_on:
- redis-master
sentinel-2:
image: redis:7
container_name: sentinel-2
command: redis-sentinel /sentinel.conf
volumes:
- ./sentinel.conf:/sentinel.conf
depends_on:
- redis-master
sentinel-3:
image: redis:7
container_name: sentinel-3
command: redis-sentinel /sentinel.conf
volumes:
- ./sentinel.conf:/sentinel.conf
depends_on:
- redis-master
volumes:
redis-master-data:
redis-slave1-data:
redis-slave2-data:
Configuration Sentinel
Créez sentinel.conf :
port 26379
sentinel monitor mymaster redis-master 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 10000
sentinel parallel-syncs mymaster 1
Démarrage du cluster
docker compose up -d
Vérification du fonctionnement
Connectez-vous à Sentinel :
docker exec -it sentinel-1 redis-cli -p 26379 SENTINEL get-master-addr-by-name mymaster
Test de basculement automatique
Arrêtez le master pour tester :
docker stop redis-master
Sentinel élit automatiquement un nouveau master parmi les esclaves.
Sécurisation et bonnes pratiques
- Sécuriser l'accès Redis (authentification, firewall)
- Utiliser un reverse proxy pour exposer Redis de manière sécurisée si nécessaire
- Sauvegardes régulières avec snapshots RDB et/ou AOF
Conclusion
Redis Sentinel tient la haute disponibilité de vos bases Redis en déclenchant un failover automatique, taillé pour les applications critiques en production.
Pour les alternatives, lisez notre guide sur Redis Cluster et voyez comment l'employer avec caching Redis. Pour les cas d'usage avancés, découvrez RedisStack.


