Implémentation de haute disponibilité avec Redis Sentinel : Automatisation du basculement de maître

Introduction à Redis Sentinel

Redis Sentinel constitue la solution de haute disponibilité proposée par l'équipe Redis, permettant d'automatiser le basculement de maître en cas de défaillance. Ce guide pratique vous accompagnera dans la mise en place d'une cluster Redis robuste et prêt pour la production.

Concepts fondamentaux de Sentinel

  • Surveillance : Surveillance continue de l'état des nœuds maître et esclave
  • Notification : Alerte en cas d'anomalie des nœuds vers les administrateurs
  • Basculement automatique : Élection automatique d'un nouveau maître lors de l'indisponibilité
  • Fournisseur de configuration : Accès via Sentinel à l'adresse du maître actuel pour les clients

Préparation de l'environnement

Configuration requise avec trois serveurs (ou trois ports locaux) :


serveur maître : 192.168.1.100:6379
serveur esclave : 192.168.1.101:6379
serveur esclave : 192.168.1.102:6379
instances Sentinel : une sur chaque serveur

Configuration de la réplication maître-esclave

Paramétrage pour les nœuds esclave (redis.conf) :


replicaof 192.168.1.100 6379
masterauth votre_mot_de_passe
replica-read-only yes

Après démarrage des nœuds, vérification :


redis-cli info replication
# Affiche : role:master / role:slave

Configuration détaillée de Sentinel

Création du fichier sentinel.conf :


port 26379
sentinel monitor cluster_redis 192.168.1.100 6379 2
sentinel auth-pass cluster_redis votre_mot_de_passe
sentinel down-after-milliseconds cluster_redis 30000
sentinel parallel-syncs cluster_redis 1
sentinel failover-timeout cluster_redis 180000

Explication des paramètres :

  • monitor : Surveillance du cluster nommé cluster_redis, avec 2 Sentinel requis pour valider l'indisponibilité
  • down-after-milliseconds : Déclaration d'indisponibilité après 30 secondes sans réponse
  • failover-timeout : Délai maximal pour le basculement

Démarrage de Sentinel :


redis-sentinel /etc/redis/sentinel.conf

Test du basculement de défaillance

Simulation d'une panne du maître :


redis-cli shutdown

Observation des journaux Sentinel :


+sdown master cluster_redis 192.168.1.100 6379
+odown master cluster_redis 192.168.1.100 6379 #quorum 2/2
+switch-master cluster_redis 192.168.1.100 6379 192.168.1.101 6379

Intégration avec Spring Boot

Configuration dans application.yml :


spring:
  redis:
    sentinel:
      master: cluster_redis
      nodes:
        - 192.168.1.100:26379
        - 192.168.1.101:26379
        - 192.168.1.102:26379
    password: votre_mot_de_passe

Meilleures pratiques en production

  • Déployer au moins 3 instances Sentinel (nombre impair)
  • Séparer physiquement les instances Sentinel des nœuds Redis
  • Activer la persistance AOF : appendonly yes
  • Utiliser des mots de passe robustes : requirepass et masterauth

Points clés à retenir

Redis Sentinel offre une solution de haute disponibilité immédiatement utilisable avec les considérations essentielles suivantes :

  • Un minimum de 3 instances Sentinel garantit la redondance
  • Configuration appropriée des délais down-after et failover-timeout
  • Les clients doivent impérativement utiliser Sentinel pour obtenir l'adresse du maître
  • En production, activer impérativement la persistance et les alertes de monitoring

La maîtrise de Sentinel assurera la robustesse de votre infrastructure Redis !

Étiquettes: Redis Sentinel haute-disponibilité basculement Cluster

Publié le 25 juin à 05h38