Maison >base de données >Redis >Comment éviter le split-brain dans le cluster Redis
Qu'est-ce que le cerveau divisé du cluster Redis ?
La division cérébrale du cluster 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 dans des partitions réseau différentes. À ce stade, le cluster sentinelle ne peut pas détecter l'existence. du maître, donc faites la promotion du nœud esclave au nœud maître. (Apprentissage recommandé :
Solution
Dans le fichier de configuration redis, il y a deux paramètres
min-slaves-to-write 3 min-slaves-max-lag 10Le premier paramètre indique le nombre minimum d'esclaves connectés au maîtreLe deuxième paramètre indique le délai maximum pour que l'esclave se connecte au maîtreSi le nombre d'esclaves connectés au maître est inférieur au premier paramètre et le délai de ping. Si le temps 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 quantité de synchronisation des données perdues. Remarque : Les paramètres de la nouvelle version du fichier redis.conf sont devenus
min-replicas-to-write 3 min-replicas-max-lag 10Le problème de perte de données dans le cas d'une réplication asynchrone dans redis peut également utiliser ces deux paramètres
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!