- 在 A 上安装 Mongo。启动服务器:$ mongod --rest --replSet myset
- 在 A 上执行 rs.initiate()。
- 在 B 上安装 Mongo。启动服务器:$ mongod --rest --replSet myset
- 连接到 A 并将 B 添加到集合:rs.add("B");
- 将 C 设置为仲裁者:$ mongod --rest --replSet myset --oplogSize
- 连接到 A 并添加 C 作为仲裁者:rs.add( { host:”C”, arbiterOnly:true }
好的,我的问题是:
我的 Web 服务器连接到哪个 Mongo 服务器?在副本集出现之前,这很简单。我只需给它一个主机、用户和密码,Web 服务器就可以完美连接。但是,在所有这些设置完成后,Web 服务器如何知道是指向 A、B 还是 C?
我猜测 Web 服务器应该始终指向 C,并且它会神奇地处理一切?
答案1
http://php.net/manual/en/mongo.construct.php即使您不使用 PHP,也会对您有所帮助。您可以连接到 RS 中的任何服务器,其余的是驱动程序的角色(每个驱动程序都会这样做)。指定要连接的多个服务器使得驱动程序可以在一个服务器发生故障时连接到 RS。