2010-09-07 25 views
1

Je joue avec la réplication de données dans MongoDb, et j'ai actuellement un maître et plusieurs nœuds esclaves. Tout cela fonctionne sur des ports différents, mais ils pourraient aussi bien être sur des machines différentes (je suis en train de tester atm).Comment se connecter à un esclave si le maître tombe en panne - Réplication

Ma question est, comment pourrais-je me connecter à ceux-ci à partir de mon code? Actuellement, j'ai juste une instance d'une classe db, qui est connectée à x port sur localhost. Évidemment, si ce nœud échoue, je veux utiliser l'esclave sur y port sur localhost, et si cela échoue, z port sur localhost. Dois-je utiliser des objets db séparés pour différentes connexions?

+0

qui pilote la langue que vous utilisez? – danielgwood

+0

http://github.com/christkv/node-mongodb-native –

+0

Ah désolé, je ne connais pas node.js. Votre meilleur pari peut être de contacter l'auteur de la bibliothèque - 'http: // github.com/christkv' – danielgwood

Répondre

1

D'accord, je l'ai regardé à travers le code source du pilote, et il ressemble à ceci est la façon de configurer des clusters:

var db = new mongo.Db('test', new mongo.ServerCluster([new mongo.Server(host, 27018, {}), 
                new mongo.Server(host, 27019, {}), 
                new mongo.Server(host, 27017, {})]), {});