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 !
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
#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
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 esclaveredis-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
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 wwLes données sont automatiquement allouées au nœud 1002 et la connexion est également transféré au nœud 10024. 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îtreRedé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!