Couchbase PHP SDK: как определить сбой подключения к Couchbase?

Я использую расширение Couchbase PHP для подключения к Couchbase и реализую функцию, которая может определять, не отвечает ли Couchbase, и переключаться на MySQL. Однако я не могу понять, как определить, не работает ли Couchbase, я не могу найти ничего в их документации для этого.

Ниже приведен код, который у меня есть:

$cb = new Couchbase("$host:$port", $admin, $password, $bucket);
if (!$cb) {
    throw Exception('Cannot connect to couchbase!');        
}

Любая помощь будет высоко ценится.


person Saad    schedule 17.07.2012    source источник


Ответы (2)


Я столкнулся с тем же вопросом и решил его следующим образом:

$cb = @new Couchbase($host.":".$port,$username,$password,$bucket,$persistent);
if($cb->getResultCode() != COUCHBASE_SUCCESS){ 
    throw Exception('Cannot connect to couchbase!'); 
} 
person Norkos    schedule 07.02.2014

Я бы рекомендовал подсчитывать ошибки до порога, а затем рассматривать соединение «вниз» и пытаться восстановить его.

Обратите внимание, что отчасти причина, по которой трудно определить «отказ», заключается в том, что Couchbase по своей конструкции редко полностью выходит из строя, и даже когда отказ узлов происходит, аварийное переключение запускается либо автоматически, либо вручную, возвращая этот объект соединения в оперативный режим. В этом отношении он отличается от подключений к другим базам данных.

person Matt Ingenthron    schedule 18.07.2012
comment
Спасибо за ответ. Есть ли какой-либо метод API, который мы можем использовать для определения количества исправных узлов в кластере? - person Saad; 18.07.2012
comment
Этот документ должен помочь вам найти эти вызовы API couchbase.com /docs/couchbase-manual-1.8/getting-node-info.html - person J Chris A; 08.08.2012