我已经扩展了mysqli数据库类,使查询处理更加高效,到目前为止它运行良好。但是,有时我的数据库服务器会关闭,然后基本上会有很多部件出现故障。 所以我想调整我的数据库类以连接到第二个故障转移服务器,而不必更改我的其余PHP代码。
如果我这样做是真的很糟糕:
protected $fallback = 'mysql_fallback';
public function __construct($host = "mysql", $user = "xxx", $pass = "xxx", $db = "xxx", $port=null, $socket=null) {
@parent::__construct($host, $user, $pass, $db, $port, $socket);
if ($this->connect_errno) {
@parent::__construct($this->fallback, $user, $pass, $db, $port, $socket);
}
}
在我的所有脚本中,我都有以下内容:
$db = new myDbase();`
if (!$db->connect_errno)`{
我并不是真的想要更改我拥有此代码的所有脚本,只需在mysql上设置master / master复制并按照这种方式进行。
是否有另一种方法可以快速设置故障转移,而无需调整太多代码并仍具有某种透明度?