J'ai trois instances sur EC2, chacune avec mongo de service, mis en place avec jeu de réplicas, à savoir, un primaire (192.168.1.1), un secondaire (192.168.1.2) et un arbitre (192.168.1.3).Ajouter un nouveau membre dans mongo et empêcher l'exception d'erreur dans l'application
J'ai plusieurs applications qui se connectent avec mongo.
Ma question est la suivante:
Si j'ajouter un autre membre dans la réplique, je dois changer toutes les applications dans la configuration de la connexion pour inclure le nouveau membre?
Parce que je le demande. Supposons que ip avec le .1 final soit primaire, .2 soit secondaire, puis ajoute un nouveau membre à la fin ip .4. Et je n'inclue pas ce nouveau membre dans les paramètres de base de données d'application. Et si le premier tombe, l'arbitre choisit ip avec .4 pour être le nouveau primaire. Toutes les applications commenceront à lancer une exception.
Comment puis-je "réparer", de sorte que toujours je dois ajouter un nouveau membre n'a pas besoin de changer la configuration de la base de données de l'application. Imaginez si je dois ajouter des membres 'n'.
Avez-vous un moyen de configurer l'application, sachant que mon application est en PHP, d'identifier le primaire seul sans avoir à ajouter la configuration de l'hôte?
C'est difficile; à moins que vous ne soyez assez chanceux pour que votre ensemble initial d'hôtes reste inclus dans le jeu de réplicas pour toujours, et qu'il y en ait au moins un actif et disponible, vous devrez éventuellement changer la configuration de l'application. Les différentes solutions à ce problème sont appelées [tag: service-discovery] et impliquent que votre application contacte un 3ème système pour savoir où il peut se connecter au jeu de réplicas. –