Question

De plus en plus des bases de données NoSQL qui sont sous les projecteurs utilise le modèle maître / esclave de fournir « disponibilité », mais ce qu'il fait (du moins de mon point de vue) crée le maillon faible d'une chaîne qui va briser à tout moment . -. Maître descend, les esclaves s'arrête à la fonction

Il est un excellent moyen de gérer de grandes quantités de données et même lit sur / écriture, mais vu dans une perspective de disponibilité? Pas tellement ...

Je comprends de certains NoSQL-ce que les esclaves peuvent être modifiés pour être un maître facilement, mais faire cela serait un mal de tête à manipuler dans la plupart des applications. Droit?

Alors, comment les gens vous prenez soin de ce genre de choses? Comment fonctionne-t-bases de données-esclave maître / dans le monde réel?

Était-ce utile?

La solution

Ceci est une question assez généralisée; pouvez-vous préciser ce que stocke les données que vous parlez précisément?

Je travaille avec MongoDB, et il gère cela très gracieusement; tous les membres dans un « jeu de réplicas » (essentiellement, un cluster maître-esclave) peut devenir le maître. Sur la connexion à un ensemble de réplique, le jeu indique au client qui se connecte à propos de tous les membres de l'ensemble. Si le maître dans l'ensemble est déconnecté, les esclaves choisiront automatiquement un nouveau maître, et le client (car il a une liste de tous les noeuds dans l'ensemble) va essayer de nouveaux nœuds jusqu'à ce qu'il se connecte; le nœud, il se connecte à informera le client au sujet du nouveau maître, et le client passe sa connexion sur. Cela permet le basculement maître totalement transparent / esclave sans aucun changement dans votre application.

Ceci est évidemment très bien pour les connexions simples, mais qu'en est-redémarrage? Le pilote MongoDB gère cela aussi bien; il peut accepter une liste de noeuds pour essayer de vous connecter à, et les essayer en série jusqu'à ce qu'il trouve un pour la connexion. Une fois qu'il se connecte, il demandera au nœud qui est son maître, et en avant la connexion il.

Le résultat net est que si vous avez un jeu de réplicas créé, vous pouvez effectivement tout simplement pas à vous inquiéter que tout seul nœud exploser vous mettre hors ligne.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top