Maison  >  Article  >  base de données  >  Basculer les instances maître-esclave Redis en ligne

Basculer les instances maître-esclave Redis en ligne

尚
avant
2020-03-27 09:25:212083parcourir

Basculer les instances maître-esclave Redis en ligne

Pour certaines raisons, nous devrons peut-être remplacer le maître Redis par une autre machine. Nous pouvons arrêter la machine pour la remplacer, mais cela peut affecter l'expérience utilisateur. Cet article décrit brièvement comment migrer sans temps d'arrêt.

(Recommandé : Tutoriel vidéo Redis)

Environnement système

CentOS 6.3 x64

redis- serveur 2.6.16

Machine deux s1s2

Étapes de fonctionnement

1 Nous démarrons une instance Redis sur le nouveau serveur Redis, configurons et le maître. la configuration est la même, la différence est que le fichier de configuration est modifié et activé en lecture seule pour l'esclave non,

permet à l'esclave d'écrire, car "Depuis Redis 2.6 par défaut, les esclaves sont en lecture seule <.>

2. Faites du nouveau redis un esclave : redis 127.0.0.1:6379>SLAVEOF s1 6379

Ensuite, vous pourrez vérifier le journal sur s2. Vous pourrez y accéder. utilisez également la commande info pour vérifier l'état.

3. Une fois que s2 a complètement synchronisé les données de s1, nous modifions l'adresse IP redis de l'application de jeu par l'adresse IP de s2.

4. Vérifiez si le jeu est normal.

5. Une fois que ce qui précède ne pose aucun problème, exécutez redis 127.0.0.1:6379> SLAVEOF NO ONE sur s2

6 hors ligne

PS :

Port hôte SLAVEOF

La commande SLAVEOF est utilisée pour modifier dynamiquement le comportement de la fonction de réplication lorsque Redis est en cours d'exécution.

En exécutant la commande SLAVEOF host port, vous pouvez transformer le serveur actuel en serveur esclave du serveur spécifié.

Si le serveur actuel est déjà un serveur esclave d'un serveur maître, l'exécution du port hôte SLAVEOF entraînera l'arrêt de la synchronisation du serveur actuel avec l'ancien serveur maître, la suppression de l'ancien ensemble de données et la synchronisation du nouveau. . Le serveur principal effectue la synchronisation.

De plus, l'exécution de la commande SLAVEOF NO ONE sur un serveur esclave entraînera la désactivation de la fonction de réplication du serveur esclave et la transition du serveur esclave vers le serveur maître. L'ensemble de données synchronisées d'origine ne sera pas. écarté.

En utilisant la fonctionnalité « SLAVEOF NO ONE ne supprimera pas l'ensemble de données synchronisées », lorsque le serveur maître tombe en panne, le serveur esclave peut être utilisé comme nouveau serveur maître, permettant ainsi un fonctionnement ininterrompu.

Versions disponibles :

>= 1.0.0

Complexité temporelle :

Port hôte SLAVEOF, O(N), N doit être synchronisé quantité de données.

ESCLAVE DE PERSONNE, O(1).

Valeur de retour :

Renvoie toujours OK.

Pour plus de connaissances sur Redis, veuillez faire attention à la colonne

Tutoriel d'introduction à 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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer