我有一个分片集的分片集已分片,我的应用程序层正在与mongos交谈,现在如果我的主服务器出现故障,我的php应用程序会抛出错误。
我知道这是因为我还没有做这样的事情启用setSlaveOkay
从驱动程序:有没有办法在整个集群中启用setSlaveOkay
MongoCursor::$slaveOkay = true;
这样做的问题是,在以往任何时候我说话分贝我一定要添加此语句。
有没有一种方法可以在系统级别启用此功能?
我在我的主要和次要尝试做rs.slaveok()
但仍然我的应用程序层抛出一个错误。
PHP Fatal error: Uncaught exception 'MongoCursorException' with message 'dbclient error communicating with server: testserver:10001'
谢谢亚当,对此作出回应,我的问题是,我在应用程序层有一个巨大的代码库,这是非常难以更新的,因为数据库正在增长,我计划实施分片+副本集,但现在甚至我只是更新了连接字符串以与mongos对话,我正在寻找一种方法来设置这个setslaveok标志,以便当我连接到mongos时,应该自动启用它, –
正确,因此在创建时将其设置在连接上它应该涵盖它.....不知道我明白这个问题... –
谢谢亚当的宝贵资料,我想我误解了setslaveok的工作方式。 –