扩展mysqli类以尝试多个服务器

时间:2016-11-08 14:23:38

标签: php mysqli database-replication

我已经扩展了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复制并按照这种方式进行。

是否有另一种方法可以快速设置故障转移,而无需调整太多代码并仍具有某种透明度?

0 个答案:

没有答案