расширить класс MySQL, чтобы попробовать несколько серверов

Я расширил класс базы данных 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)`{

И я на самом деле не хочу менять все сценарии, в которых у меня есть этот код, и просто настроить репликацию master / master на mysql и идти по этому пути.

Есть ли другой способ быстро настроить отказоустойчивость, не корректируя слишком много кода и при этом сохраняя некоторую прозрачность?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …