L'algorithme de consensus (par exemple, raft) nécessite que le cluster contienne un nombre impair de nœuds pour éviter le problème du « split-brain ».
Disons que j'ai un cluster de 5 nœuds, que se passera-t-il si un seul nœud échoue ? Le cluster a maintenant 4 nœuds, ce qui enfreint la règle du nombre impair, le cluster continuera-t-il à bien fonctionner ?
Une solution est de supprimer un nœud supplémentaire pour que le cluster ne contienne que 3 nœuds, mais que se passera-t-il si le nœud précédemment défaillant revient ? alors le cluster aura à nouveau 4 nœuds, et nous devrons ramener le nœud précédemment supprimé pour que le cluster soit impair.
Les implémentations de l'algorithme de consensus gèrent-elles automatiquement ce problème, ou dois-je le faire dans le code de mon application (par exemple, supprimer un nœud) ?