当前位置:网站首页>Redis Cluster
Redis Cluster
2022-06-23 18:11:00 【Bugmaker Shen】
Catalogue des articles
Un.、Concept de Cluster
Les goulets d'étranglement de pointe rencontrés dans le développement des entreprises:
- redisServices fournisOPSPeut atteindre10(En milliers de dollars des États - Unis)/Secondes,Opérations en coursOPSAtteint20(En milliers de dollars des États - Unis)/Secondes
- Mémoire autonome jusqu'à256G,Besoins opérationnels actuels capacité de mémoire1T
À ce moment - là, le regroupement peut être utilisé pour résoudre rapidement les problèmes ci - dessus
Architecture des grappes: Un Cluster est un réseau qui relie plusieurs ordinateurs,Et assurer une gestion uniforme,Rendre l'effet de service autonome externe
Le rôle des grappes:
- Répartir la pression d'accès sur un seul serveur,Réaliser l'équilibrage de la charge
- Répartir la pression de stockage sur un seul serveur,Réaliser l'extensibilité
- Réduire la probabilité d'une catastrophe commerciale causée par un seul serveur en panne,Haute disponibilité

2.、Conception de stockage de données groupées
- AdoptionhashConception de l'algorithme,CalculékeyEmplacement à enregistrer
- Couper tout l'espace de stockage en16384Part,Enregistrer une partie par hôte, Un espace de rangement par représentant (Slot),Pas un seul.keyEspace de sauvegarde pour, Cet espace de stockage peut contenir beaucoup de key
- Oui.keyMettre dans l'espace de stockage correspondant selon les résultats calculés

Supposons que nous ajoutions une machine maintenant , Comment ces données stockées et cet espace devraient - ils être répartis ?

Une machine se divise en fentes pour la nouvelle machine , Ce qu'on appelle l'ajout de machines et l'enlèvement de machines , Il suffit de changer la machine stockée dans la fente
Trois、Conception de la communication interne du cluster
- Les bases de données communiquent entre elles, Enregistrer le numéro de fente dans chaque bibliothèque
- Un coup.,Retour direct
- Une erreur,Indiquer l'emplacement exact, Jusqu'à deux coups

Il y a un client qui cherche key,D'abord.hashL'algorithme calculekey Numéro de fente correspondant , Puis trouvez la machine correspondante sur l'anneau de hachage , Vérifiez s'il y a une fente correspondante sur cette machine ( En raison de l'augmentation possible de la machine 、Supprimer, Les fentes de la machine sont ajoutées à différentes machines )
Si cette machine a keyLa fente correspondante, Recherche directe retour à ;Si ce n'est pas le cas, .Cherchez le numéro de fente de chaque machine et l'enregistrement de la machine , Ensuite, il suffit d'aller à la machine correspondante
Quatre、Construire des grappes
ClusterConfiguration
Set to joincluster, Devenir un nœud
cluster-enabled yes|no
clusterNom du profil,Ce fichier est généré automatiquement, Utilisé uniquement pour la recherche rapide de fichiers et la recherche de contenu de fichiers
cluster-config-file <filename>
Délai de réponse du Service de noeud, Utilisé pour déterminer si le noeud est déconnecté ou commuté à slave
cluster-node-timeout <milliseconds>
masterConnectéslaveQuantité minimale
cluster-migration-barrier <count>
Configuration3 masters—3 slaves
Compilationredis-6379.conf

Parredis-6379.confJe l'ai.redis-6380.conf、redis-6381.conf、redis-6382.conf、redis-6383.conf、redis-6384.conf,Comme suit:3- Oui.masterEt3- Oui.slaveProfil de démarrage pour

Démarrer toutmasterEtslave


C'est encore un noeud après l'autre , On doit les relier ,InsrcIl y a unredis-trib.rbProgramme exécutable pour( L'exécution de ce fichier nécessite une installation ruby)

# Ici.nReprésentation1- Oui.masterCorrespondant àn- Oui.slave
# Derrière.ip:portReprésentationmasterEtslaveInformations sur,masterEtslave Le nombre de nCorrespondant à
# Hypothèsesn=1,C'est écrit.6Groupeip:port,Avant3Oui.master,Après3Oui.slave,Réalisation1Seigneur.1De
# Hypothèsesn=2,C'est écrit.9Groupeip:port,Avant3Oui.master,Après6Oui.slave,Réalisation1Seigneur.2De
./redis-trib.rb create --replicas n ip1:port1 ip2:port2 ....
Écris.6Groupeip:port,Directives d'exécution,Générer3Groupe1Seigneur.1De

Avant de générer plusieurs groupes de structures maître - esclave ,Regardons d'abord.dataTable des matières(Inredis-Port.confConfiguration moyenne) Profil du noeud généré sous nodes-Port.conf
Nous entronsyes,Générer3Groupe1Seigneur.1De
cluster Une fois connectés , Le Cluster est configuré ,En ce momentnodes-Port.conf Il y a eu un changement .Voyons voir.master 6379 Profil de noeud correspondant 
Voyons voir.6379master Message rapide du terminal

Cinq、Pratiques d'utilisation des grappes
1. Utiliser des grappes pour stocker des données

On est connectés6379PortredisAprès le serveur,J'aimerais6379 Mettre des données sur le serveur ,Peut passerCRC Algorithmes et modules 16384Calculéitheima Ces données devraient être placées dans 5798Slot No., Et cette fente est 6380Sur la machine, On n'a pas le droit de 6379Sur la machine
Nous utilisons-c Paramètres connexion au serveur , Ce paramètre est dédié au fonctionnement du cluster

Nous sommes toujours connectés 6379Serveur,Quand on met les données,Donner des conseils,Bien que nous soyons6379Mettre les données,Mais à traversCRC Algorithmes et modules 16384Calculéitheima Ces données devraient être placées dans 5798Slot No., Donc redirigé vers 6380Machines
Nous passons-c Parameter login 6382Celui - cislaveLe serveur récupère les données
Le message nous dit ,Rediriger vers6380Sur la machine5798 C'est sorti de la fente . Tant que nous sommes connectés à l'une des machines du cluster ,Tout est là.6380Sur la machine5798 La fente numéro un sort ,Si on se connecte6380 La machine n'aurait pas d'informations de redirection , Au lieu d'extraire les données directement
2. slaveL'impact de la déconnexion sur le cluster
Le plus grand avantage du cluster n'est pas la capacité de stocker des données sur plusieurs machines , C'est la capacité du cluster à résoudre les catastrophes commerciales causées par les temps d'arrêt
Arrêtons d'abord 6382 slave1

Voyons voir.slave1Correspondantmaster1,master1Découverteslave1 10sPas de réponse interne, Marquer comme déconnecté 
Et les autres dans le cluster masterEtslaveVous recevrezmaster1Notification,slave1Hors ligne

À ce moment - là, on laisse slave1Retour en ligne

Après la mise en ligne et master1 Resynchroniser suffit ,master1 Prévenez les autres masterEtslaveConcernantslave1 Informations en ligne pour , Les autres machines sont nettoyées slave1 Marque de fin de ligne pour

Résumé: slaveAprès la ligne,Correspondantmaster Il sera marqué comme étant hors ligne , Informez également les autres machines du cluster que slaveHors ligne; Quand il sera en ligne , Synchroniser les données avec , Ensuite, informez les autres machines du cluster que slave Informations en ligne pour
3. masterL'impact de la déconnexion sur le cluster
On arrête master1

Ci - dessous, il y a un lien avecmaster1Correspondantslave1Fonctionnement

Nous utilisonscluster nodes Voir les informations du noeud ,J'ai trouvé.4- Oui.master,Parmi eux6379Marqué commefail

On redémarre maintenant 6379

6379Demande et6382Synchronisation des données
Réutilisercluster nodes Voir les informations du noeud ,6379Demaster failModifié comme suit:slave

Résumé: Quandmaster1Après la ligne,Correspondantslave1Essayer de se connecter, Après le temps mort, je deviens nouveau master, Ensuite, informez les autres machines du cluster ,master1 Hors ligne et devenir masterMessage de,master1 L'état de est marqué comme master fail;6379Quand il sera de nouveau en ligne,Seraslave,Et le leurmasterSynchronisation des données
ClusterCommande de fonctionnement du noeud
Afficher les informations du noeud de Cluster
cluster nodes
Dans un noeud esclave redis, Basculer son noeud Maître
cluster replication <master-id>
Un nouveau noeud a été trouvé , Ajouter un noeud maître
cluster meet ip:port
Ignorer un sans slotNode of
cluster forget
FAILOVER manuel
cluster failover
边栏推荐
- 13. IP address and subnet partitioning (VLSM)
- JS array to remove duplicate data
- iMeta | 南农沈其荣团队发布微生物网络分析和可视化R包ggClusterNet
- [learning notes] tidb learning notes (III)
- 实现领域驱动设计 - 使用ABP框架 - 存储库
- Theory of technology that must be learned by chip manufacturers (4-1) clock technology and reset Technology
- 论文阅读 (56):Mutli-features Predction of Protein Translational Modification Sites (任务)
- SimpleDateFormat在多线程环境下存在线程安全问题。
- Kdevtmpfsi processing of mining virus -- Practice
- QML类型:Loader
猜你喜欢

Paper reading (47):dtfd-mil: double tier feature interpretation multiple instance learning for histopathology

Landing of global organizational structure control

【C工具】------点阵模拟测试2

客服系统搭建教程_宝塔面板下安装使用方式_可对接公众号_支持APP/h5多租户运营...

【故障公告】取代 memcached 的 redis 出现问题造成网站故障
![微信小程序报错[ app.json 文件内容错误] app.json: app.json 未找到](/img/ab/5c27e1bb80ad662d1a220d29c328e0.png)
微信小程序报错[ app.json 文件内容错误] app.json: app.json 未找到

科技互动沙盘是凭借什么收获人气的

Wiley-中国科学院文献情报中心开放科学联合研讨会第二讲:开放获取期刊选择及论文投稿...

org. apache. ibatis. binding. BindingException: Invalid bound statement (not found):...
![[esp8266-01s] get weather, city, Beijing time](/img/8f/89e6f0d482f482ed462f1ebd53616d.png)
[esp8266-01s] get weather, city, Beijing time
随机推荐
实现领域驱动设计 - 使用ABP框架 - 通用准则
Paper reading (58):research and implementation of global path planning for unmanned surface vehicle based
csdn涨薪秘籍之Jenkins集成allure测试报告全套教程
客服系统搭建教程_宝塔面板下安装使用方式_可对接公众号_支持APP/h5多租户运营...
JS reset form
Strong cache and negotiation cache in http
【Unity】插件TextAnimator 新手使用说明
This time, thoroughly understand the SparseArray implementation principle
Mobile SSH connection tool
README
科技互动沙盘是凭借什么收获人气的
暂停更新公告—行走的皮卡丘
[tool C] - lattice simulation test 2
Paper reading (56):muti features predction of protein translational modification sites (task)
Paper reading (49):big data security and privacy protection (Kopp)
13. IP address and subnet partitioning (VLSM)
JS regular verification time test() method
Alien world, real presentation, how does the alien version of Pokemon go achieve?
Which securities company is good for opening a mobile account? Is online account opening safe?
Similarities and differences between Chinese and American electronic signature SaaS