2012-07-17 45 views
2

我正在使用Couchbase PHP扩展来连接到Couchbase并实现一项功能,该功能可以检测Couchbase是否未响应并且故障转移到MySQL。但是,我无法弄清楚如何检测Couchbase是否已关闭,我无法在其文档中找到任何相关内容。Couchbase PHP SDK:如何检测couchbase连接失败?

以下是我的代码:

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

任何帮助将非常感激。

回答

0

我会建议计算错误达到阈值,然后考虑连接'下',并尝试重建它。

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

+0

感谢您的答复。我们可以使用任何API方法来确定集群中健康的节点数量吗? – Saad 2012-07-18 17:57:15

+0

此文档应该可以帮助您找到那些API调用http://www.couchbase.com/docs/couchbase-manual-1.8/getting-node-info.html – 2012-08-07 20:19:08

1

我碰到了同样的问题,解决这样说:

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