Couchbase PHP SDK:如何检测Couchbase连接失败


Couchbase PHP SDK: How to detect couchbase connection failure?

我正在使用Couchbase PHP扩展连接到Couchbase,并实现一个可以检测Couchbase是否没有响应并故障转移到MySQL的功能。然而,我不知道如何检测Couchbase是否关闭,我在他们的文档中找不到任何相关信息。

以下是我的代码:

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

任何帮助都将不胜感激。

我遇到了同样的问题,并以这种方式解决了它:

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

我建议将错误计数到阈值,然后考虑"关闭"连接并尝试重建它。

请注意,很难确定"关闭"的部分原因是,根据设计,Couchbase很少会完全失败,即使节点确实发生故障,故障切换也会自动或手动触发,使连接对象重新联机。在这方面,它与其他数据库的连接不同。