Cas de base de données NoSQL Solution de combat-Redis haute disponibilité Synchronisation maître-esclave

Synchronisation maître-esclave de la solution à haute disponibilité Redis

Préface

Cet environnement est basé sur le système Centos 7.8 pour créer un environnement d'apprentissage Redis. Pour
une construction spécifique, veuillez vous référer à Déploiement de l'environnement Redis-5.0.9

Redis est livré avec une fonction de synchronisation maître-esclave pour résoudre le problème de la redondance de la base de données, et la configuration est relativement simple. Ensuite, je présenterai en détail


Le rôle de la réplication maître-esclave

  • Redondance des données: la réplication maître-esclave réalise une sauvegarde à chaud des données, qui est une méthode de redondance des données en plus de la persistance.
  • Récupération en cas de panne: lorsque le nœud maître a un problème, le nœud esclave peut fournir des services pour obtenir une récupération rapide en cas de panne; en fait, c'est une sorte de redondance de service.
  • Équilibrage de charge: sur la base de la réplication maître-esclave, avec la séparation de la lecture et de l'écriture, le nœud maître peut fournir le service d'écriture et le nœud esclave fournit le service de lecture (c'est-à-dire que l'application se connecte au nœud maître lors de l'écriture de Redis données et l'application se connecte au nœud esclave lors de la lecture des données Redis), partagez la charge du serveur; en particulier dans le scénario d'écriture de moins et de lecture plus, le partage de la charge de lecture par plusieurs nœuds esclaves peut considérablement augmenter la concurrence du serveur Redis.
  • Séparation lecture-écriture: elle peut être utilisée pour réaliser une séparation lecture-écriture. La bibliothèque principale écrit et lit à partir de la bibliothèque. La séparation lecture-écriture peut non seulement augmenter la capacité de charge du serveur, mais également modifier le nombre de bibliothèques esclaves en fonction de l'évolution de la demande;
  • La pierre angulaire de la haute disponibilité: en plus des fonctions ci-dessus, la réplication maître-esclave est également la base de la mise en œuvre des sentinelles et des clusters.Par conséquent, la réplication maître-esclave est la base de la haute disponibilité Redis.

Processus de réplication maître-esclave

Processus de réplication maître-esclave Redis:

  • L'esclave établit la connexion avec le maître et envoie la commande de synchronisation
  • Le maître démarrera un processus d'arrière-plan pour enregistrer l'instantané de la base de données dans un fichier, et le processus maître maître commencera à collecter les nouvelles commandes d'écriture et à les mettre en cache.
  • Après avoir enregistré en arrière-plan, envoyez ce fichier à l'esclave
  • L'esclave enregistre ce fichier sur le disque dur

Processus de synchronisation complète des données maître-esclave

Insérez la description de l'image ici

Un maître peut avoir plusieurs esclaves et un esclave peut avoir plusieurs esclaves. De cette manière, une puissante architecture de cluster de serveurs à plusieurs niveaux est formée.

Préparation environnementale

rôle nœud ip Redis-Version
Serveur principal reids-miam 192.168.5.11 Redis-5.0.9
Serveur esclave reids_source_code 192.168.5.12 Redis-5.0.9

Configuration du serveur principal

[root@reids-yum ~]# vim /etc/redis.conf
bind 192.168.5.11
[root@reids-yum ~]# systemctl restart redis

Configurer à partir du serveur

[root@reids_source_code ~]# vim /etc/redis/redis.conf
bind 192.168.5.12
replicaof 192.168.5.11 6379
[root@reids_source_code ~]# systemctl restart redis

Afficher l'état de la synchronisation
maître-
Insérez la description de l'image ici
esclave
Insérez la description de l'image ici
Test maître-esclave Effet de synchronisation maître-esclave

# 主写入数据
192.168.5.11:6379> set name wan
OK
192.168.5.11:6379> set age 20
OK
192.168.5.11:6379> get gender
"man"
# 从查看写入
192.168.5.12:6379> keys *
1) "gender"
2) "age"
3) "name"
192.168.5.12:6379> mget name age gender
1) "wan"
2) "20"
3) "man"

# 主删除数据
192.168.5.11:6379> del age
(integer) 1
# 从查看数据
192.168.5.12:6379> keys *
1) "gender"
2) "name"

La configuration de la synchronisation maître-esclave est réussie! ! !

Je suppose que tu aimes

Origine blog.csdn.net/XY0918ZWQ/article/details/113803598
conseillé
Classement