Pourquoi avons-nous besoin d'un "arbitre" dans MongoDB la réplication?
Supposons que nous avons une installation de MongoDB la réplication sans arbitre, Si le primaire n'est pas disponible, le jeu de réplicas élira un secondaire primaire. Donc je pense que c'est une sorte de implicite arbitre, étant donné la réplique sera élu la primaire automatiquement.
Alors je me demande pourquoi avons-nous besoin d'un dédié arbitre nœud? Merci!
OriginalL'auteur | 2013-08-13
Vous devez vous connecter pour publier un commentaire.
Cela vient vraiment vers le bas pour le théorème CAP en vertu de laquelle il est dit que si il y a égalité du nombre de serveurs sur chaque côté de la partition de la base de données ne peut pas maintenir le CAP (la Cohérence, la Disponibilité et la Partition de la tolérance). Un Arbitre est spécifiquement conçu pour créer un "déséquilibre", ou la majorité, sur un côté de sorte que l'un des principaux peuvent être élus dans ce cas.
Si vous obtenez un même nombre de nœuds sur les côtés MongoDB ne pas élire un primaire et votre jeu ne sera pas accepter les écritures.
Modifier
Par les deux côtés, je veux dire, par exemple, 2 d'un côté et 2 de l'autre. Mon anglais n'était pas facile à comprendre.
C'est vraiment ce que je veux dire, c'est des deux côtés.
Modifier
Wikipédia présente une assez bonne affaire pour expliquer la PAC: http://en.wikipedia.org/wiki/CAP_theorem
fait, je voulais trouver le lien qui m'a appris mais je ne peux plus et que wikipédia a été le seul à ne pas utiliser la PAC à promouvoir ou sur le marché quelque chose de si je ont lié leur
Donc, en termes simples, si j'ai un jeu de réplicas avec trois membres, et j'ajoute une abriter, cela cause un problème / une impasse? Thx
Il est tout à fait possible, cependant, MongoDB n'ont certaines mesures de veto de tours de scrutin pour essayer de le faire, même les membres de l'effet de sélectionner une primaire, mais si vous avez la même entre les membres du réseau des partitions il n'y a pas de moyen facile de contourner cette
OriginalL'auteur Sammaye
Je créé une feuille de calcul pour mieux illustrer l'effet de l'Arbitre nœuds dans un Jeu de Réplicas.
Essentiellement, il revient à ces points:
Élections sont expliquées [pauvres] détail ici. Dans ce document, il états qu'une RS peut avoir 50 membres (même numéro) et 7 membres ayant droit de vote. Je tiens à souligner "les états", car elle ne expliquer comment il fonctionne. Il me semble que si vous avez une scission se produire avec 4 membres (droit de vote) sur un côté et 46 membres (3 votes), sur les autres, vous préférez avoir les 46 élus primaire et le 4 pour être en lecture seule cluster. Mais, c'est exactement ce "vote limité" empêche. Dans cette situation, vous aurez en fait un 4 membres du cluster avec un primaire et un 46 membre de cluster qui est en lecture seule. Expliquer comment le sens est hors de la portée de cette question et au-delà de mes connaissances.
Je suis d'accord que si vous avez toutes sortes de bizarre serveurs", vous ne voulez pas leur droit de vote. Pour cette raison, je soutiens MongoDB avoir un concept de non-membres ayant droit de vote. Mais, il semble tout à fait arbitraire de MongoDB pour conclure, "si vous avez 49 serveurs, 42 d'entre eux sont bizarre les serveurs qui doivent voter". Il est donc arbitraire, que je suis sûr que c'est PAS leur raisonnement. Donc je maintiens ma demande qu'un vote de la limite de 7 est inexpliquée.
Peut-être, il a été un moment depuis la dernière fois que j'ai parlé à MongoDB Inc, donc je ne suis pas en contact avec leurs schémas de pensée
OriginalL'auteur Bruno Bronosky
Arbitres sont un facultatif mécanisme pour permettre aux électeurs de voter pour réussir quand vous avez un nombre pair de mongods déployé dans un jeu de réplication. Les arbitres sont poids léger, destiné à être déployé sur un serveur qui n'est PAS dédié mongo réplique, j'.e: le serveur principal rôle est une autre tâche, comme un serveur redis. Comme ils sont légers, ils n'interfère pas (sensiblement) avec les ressources du système.
De la documentation :
Je suppose que vous parlez d'un réseau de split. Bien sûr, lorsque le nombre total de droit de vote les membres de réplicas sont impairs, vous vous retrouverez avec un primaire. Tant que vous avez déployé un nombre impair de membres, si l'un d'eux est un arbitre ou pas n'a pas d'importance. L'OP a été de se demander "pourquoi avons-nous besoin d'un dédié arbitre nœud". Je dirais que si vous êtes à la dédicace d'une machine séparée pour un arbitre, pourrait tout aussi bien faire un plein de nœud.
Je veux dire que votre première ligne: "lorsque vous avez un nombre pair de mongods déployé dans un jeu de réplication", ce qui n'est pas tout à fait vrai
Mais qui dit qu'ils sont bons à déployer sur les serveurs d'application, mais oui, une machine séparée est probablement, dans 90% des cas, mieux comme une banque de données de nœud
Vous dites "facultatives". Toutefois, si je suis en cours d'exécution d'un primaire et un secondaire, il ressemble à une "option" est un terme général. Est-il vrai que, sans un rôle d'arbitre dans ce cas, une primaire ne sera pas élu?
OriginalL'auteur Adil
Il est nécessaire d'avoir un rôle d'arbitre dans une réplication pour les raisons ci-dessous:
Espérons que cette aide !!!
OriginalL'auteur JERRY