Qu'est-ce que le cerveau divisé du cluster Redis ?
La division du cerveau du cluster de Redis signifie qu'en raison de problèmes de réseau, le nœud maître Redis, le nœud esclave Redis et le cluster sentinelle se trouvent actuellement dans des partitions réseau différentes. , le cluster sentinelle ne peut pas détecter l'existence du maître, le nœud esclave est donc promu au rang de nœud maître. (Apprentissage recommandé : Tutoriel vidéo Redis)
Il existe actuellement deux nœuds maîtres différents, tout comme un cerveau divisé en deux.
Dans le problème du cluster split-brain, si le client continue d'écrire des données basées sur le nœud maître d'origine, le nouveau nœud maître ne pourra pas synchroniser les données. Lorsque le problème de réseau est résolu, la sentinelle. Le cluster remplacera le nœud maître d'origine par le nœud maître d'origine. Le nœud est réduit à un nœud esclave. À ce stade, la synchronisation des données du nouveau maître entraînera une grande quantité de perte de données.
Solution
Dans le fichier de configuration redis, il y a deux paramètres
min-slaves-to-write 3<br/>min-slaves-max-lag 10<br/>
Le premier paramètre représente le nombre minimum d'esclaves connectés au maître
Le deuxième paramètre indique le temps de retard maximum pour que l'esclave se connecte au maître
Si le nombre d'esclaves connectés au maître est inférieur au premier paramètre et que le temps de retard du ping est inférieur ou égal Au deuxième paramètre, alors le maître rejettera la demande d'écriture. Après avoir configuré ces deux paramètres, si une division du cerveau du cluster se produit, le nœud maître d'origine rejettera la demande d'écriture du client, ce qui peut réduire la perte de données après la synchronisation des données.
Remarque : Les paramètres de la nouvelle version du fichier redis.conf sont devenus
min-replicas-to-write 3<br/>min-replicas-max-lag 10<br/>
Le problème de perte de données dans le cas d'une réplication asynchrone dans redis peut également utiliser ces deux paramètres
Pour plus d'articles techniques liés à Redis, veuillez visiter la colonne Tutoriel de démarrage de Redis pour apprendre !
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!