1. Faites d'abord deux copies des redis que vous avez téléchargés sont nommés comme suit
Créez un dossier sous le lecteur D, je l'ai nommé redis
2. Modifier le fichier de configuration
2.1 Modifier le fichier de configuration redis-master redis.windows.conf
port 6379
bind 127.0.0.1
2.2 Modifier redis-slave1 et le fichier de configuration de redis-slave2
port 6380 bind 127.0.0.1 slaveof 127.0.0.1 6379
3. Créez de nouveaux fichiers de configuration sentinelle, nommés respectivement
#redis-slave2的配置文件 port 6381 bind 127.0.0.1 slaveof 127.0.0.1 6379
Contenu du fichier de configuration Sentinel
sentinel.conf
sentinel.conf sentinel26479.conf sentinel26579.conf
sentinel26479.conf
port 26379 #master sentinel monitor master 127.0.0.1 6380 1 sentinel down-after-milliseconds master 5000 sentinel config-epoch master 1 sentinel leader-epoch master 1
sentinel26579.conf
port 26479 #slave1 sentinel monitor master 127.0.0.1 6380 1 sentinel down-after-milliseconds master 5000 sentinel config-epoch master 1 sentinel leader-epoch master 1
Description du fichier de configuration Sentinel
port 26579 #slave1 sentinel monitor master 127.0.0.1 6380 1 sentinel down-after-milliseconds master 5000 sentinel config-epoch master 1 sentinel leader-epoch master 1
4. C'est tous les fichiers de configuration, testons-le pour voir s'il réussit
1. port :当前Sentinel服务运行的端口 2.sentinel monitor mymaster 127.0.0.1 6379 2:Sentinel去监视一个名为mymaster的主redis实例,这个主实例的IP地址为本机地址127.0.0.1,端口号为6379,而将这个主实例判断为失效至少需要2个 Sentinel进程的同意,只要同意Sentinel的数量不达标,自动failover就不会执行 3.sentinel down-after-milliseconds mymaster 5000:指定了Sentinel认为Redis实例已经失效所需的毫秒数。当 实例超过该时间没有返回PING,或者直接返回错误,那么Sentinel将这个实例标记为主观下线。只有一个 Sentinel进程将实例标记为主观下线并不一定会引起实例的自动故障迁移:只有在足够数量的Sentinel都将一个实例标记为主观下线之后,实例才会被标记为客观下线,这时自动故障迁移才会执行 4.sentinel parallel-syncs mymaster 1:指定了在执行故障转移时,最多可以有多少个从Redis实例在同步新的主实例,在从Redis实例较多的情况下这个数字越小,同步的时间越长,完成故障转移所需的时间就越长 5.sentinel failover-timeout mymaster 15000:如果在该时间(ms)内未能完成failover操作,则认为该failover失败
4.2 Ensuite démarrez le service client sous chaque redis respectivement, correspondant respectivement aux commandes suivantes
redis-server.exe redis.windows.conf
Testez si les données sont synchronisées, entrez sur le client maître
Je mets une clé comme li dans le maître , La valeur est kaixuan
. Vous pouvez voir que les deux machines esclaves ont des données synchronisées. Lorsque j'essaie d'écrire des données sur la machine esclave, cela me dit qu'elles sont en lecture seule. les données ne peuvent être écrites qu'à partir de la machine maître. Entrez, faites ceci pour séparer la lecture et l'écriture
5 On démarre 3 sentinelles
et les commandes. sont les suivants
redis-cli.exe -h 127.0.0.1 -p 6379 redis-cli.exe -h 127.0.0.1 -p 6380 redis-cli.exe -h 127.0.0.1 -p 6381
Testez le maître et l'esclave sous Switch
Mais après que mon hôte a raccroché, l'esclave peut-il devenir maître avec succès ?
Vérifiez d'abord l'état actuel de Redis
Entrez
sur le client respectivementredis-server.exe sentinel.conf --sentinel redis-server.exe sentinel26479.conf --sentinel redis-server.exe sentinel26579.conf --sentinel
Maintenant vers le bas de l'hôte
Nous avons constaté que l'esclave avec le port 6380 est maintenant devenu le maître , indiquant que notre sentinelle a fonctionné, OK !
Tutoriels associés : Tutoriel vidéo Redis
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!