2012-07-17 41 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!'); 
}