Maison  >  Article  >  base de données  >  Présentation des trois modes cluster de Redis (mode cluster Cluster)

Présentation des trois modes cluster de Redis (mode cluster Cluster)

藏色散人
藏色散人avant
2020-09-10 09:34:453195parcourir

La colonne suivante du Tutoriel Redis vous présentera les trois modes cluster de Redis - Mode cluster Cluster J'espère qu'il sera utile aux amis dans le besoin !

Présentation des trois modes cluster de Redis (mode cluster Cluster)

Redis trois modes de cluster - Mode cluster cluster

1 Avez-vous déjà vu le déploiement de cluster Redis ? trois solutions, mais celle avec les performances les plus élevées est redis-cluster, qui est officiellement recommandée par redis. Elle a les performances les plus élevées. Le mode redis-cluster est présenté ci-dessous.

1. redis-cluster

A En utilisant l'idée de décentralisation, il n'y a pas de nœud central pour combiner. 16348 hachages. Le slot couvre tous les nœuds. Pour chaque valeur de clé stockée, utilisez CRC16 (KEY) & 16348 = slot pour obtenir son slot de hachage correspondant,

et trouvez son slot de hachage lors de l'accès à la clé. , le nœud d'accès actuel récupérera ensuite les données du nœud réellement attribué à cet emplacement de hachage. Les nœuds utilisent un protocole de communication léger pour réduire l'utilisation de la bande passante et avoir des performances élevées

Implémente automatiquement l'équilibrage de charge et hautement disponible, implémente automatiquement le basculement. et prend en charge une expansion dynamique.

B. La configuration maître-esclave doit également être configurée en interne, et le mode sentinelle est également utilisé en interne si la moitié des nœuds trouvent un nœud anormal, ils décident conjointement de changer l'état du nœud anormal. Si le nœud modifié est le nœud maître, alors le nœud esclave correspondant remplace automatiquement le nœud maître. Lorsque le nœud maître d'origine sera mis en ligne, il deviendra un nœud esclave.

Si le maître du cluster n'a pas de nœud esclave, l'ensemble du cluster entrera dans un état d'échec après la mort du maître car le mappage des emplacements du cluster est incomplet. Si plus de la moitié des maîtres du cluster meurent, le cluster entrera en état d'échec, qu'il y ait ou non des esclaves.

C. Selon les recommandations officielles, le déploiement d'un cluster nécessite au moins 3 nœuds maîtres. Puis démarrez le déploiement

2 Dans chaque chemin, nous ajoutons les fichiers de configuration

comme : redis.conf

2 , Configuration du cluster 

  cd /usr/software/redis/redis-

cluster/

 1. Créer un répertoire

/usr/software/redis/redis-cluster/1001

/usr/software/redis/redis-cluster/1002

/usr/software/redis/redis-cluster/1003

 /usr/software/redis/redis-cluster/1004

 /usr/software/redis/redis-cluster/1005

 /usr/software/ redis/redis-cluster /1006

2. Modifier redis.conf

cd /usr/software/redis/redis-cluster/1001

vim redis.conf

 

#Modifiez les paires clé-valeur suivantes

################################## NETWORK #####################################
#bind 127.0.0.1protected-mode no
port 1001################################# GENERAL #####################################
daemonize yes
pidfile "/var/run/redis_1001.pid"logfile "/usr/software/redis/redis-cluster/1001/log/redis.log"################################ SNAPSHOTTING  ################################dir "/usr/software/redis/redis-cluster/1001/data"################################ REDIS CLUSTER  ###############################
cluster-enabled yes
cluster-config-file nodes-1001.conf
cluster-node-timeout 15000################################## SECURITY ###################################
requirepass "ww"

Les fichiers de configuration de plusieurs autres instances peuvent être modifiés comme suit (vous devez créer vous-même les répertoires de log et de données) :

port 100x"/var/run/redis_100x.pid" 
logfile "/usr/software/redis/redis-cluster/100x/log/redis.log""/usr/software/redis/redis-cluster/100x/data"-config-file nodes-100x.conf
3. Démarrage du cluster


1. Utilisez redis-server /usr/software/redis/redis-cluster/1001/redis.conf ... pour démarrer tous les nœuds.

2. Après le démarrage, nous pouvons créer le cluster

Remarque : Redis-cli est utilisé pour créer des clusters après redis5.0. La version utilise redis-trib.rb, mais l'installation du logiciel Ruby est relativement compliquée par rapport à la version précédente 5.0, il n'est pas nécessaire d'installer de logiciel supplémentaire, ce qui est pratique. Pour plus de détails, veuillez vous référer au site officiel de redis https://redis.io/topics/cluster-tutorial

Commande Create cluster : où cluster-replicas 1 représente le nombre d'esclaves après un maître. , 1 représente 1 nœud esclave

redis-cli --cluster create 127.0.0.1:1001  127.0.0.1:1002 127.0.0.1:1003 127.0.0.1:1004 127.0.0.1:1005 127.0.0.1:1006 --cluster-replicas 1 -a ww
Pour la première fois, la création du cluster a échoué car -a ww n'était pas configuré pour ajouter un mot de passe


Le contenu suivant. sera invité pendant le processus, entrez oui pour continuer ;

Puis-je définir la configuration ci-dessus ? (tapez « oui » pour accepter) : oui

Les résultats de l'allocation automatique du cluster sont les suivants :

3 Vérifiez si le cluster est créé avec succès

Vérifiez d'abord le maître-. appairage d'esclaves

Exécuter : redis-cli -c -p 1001 -a ww

Les données sont automatiquement allouées au nœud 1002 et la connexion est également transféré au nœud 1002

4. Vérifier le basculement

La conclusion est qu'après la défaillance du nœud maître, l'esclave subordonné Le nœud sera mis à niveau vers le nœud maître et prendra en charge l'emplacement du nœud maître. Une fois l’ancien nœud maître mis en ligne, il ne peut servir que de nœud esclave.

Tuez 1001 et constatez qu'il a été converti du nœud 1004 en maître

 

Redémarrez 1001 et il devient nœud esclave

 

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