Maison >base de données >Redis >Comment éviter le split-brain dans le cluster Redis

Comment éviter le split-brain dans le cluster Redis

(*-*)浩
(*-*)浩original
2019-11-20 14:39:297600parcourir

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é : Tutoriel vidéo Redis )

À l'heure actuelle, il existe 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.

Comment éviter le split-brain dans le cluster RedisSolution

Dans le fichier de configuration redis, il y a deux paramètres

min-slaves-to-write 3
min-slaves-max-lag 10

Le premier paramètre indique le nombre minimum d'esclaves connectés au maître

Le deuxième paramètre indique le délai 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 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 10

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

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Que fait le cluster Redis ?Article suivant:Que fait le cluster Redis ?