我有一個寫入和讀取數據庫應用程序持有本地緩存。如果應用程序服務器發生故障,備份服務器應開始工作。數據庫應用程序的故障轉移策略
主要和備份應用程序只能運行,因爲它的本地緩存和數據庫上的一些低隔離級別。
就我的通信知識而言,不可能讓兩臺服務器總是找出誰可以獨佔運行。
我可以以某種方式通過將數據庫用作第三個實體來解決此通信衝突嗎?我認爲這是一個非常典型的問題,可能沒有100%安全的方法,但我很樂意知道其他人如何推薦解決此類問題?或者如果有一些最佳做法。
如果兩個應用程序都不能工作30分鐘左右,但沒有足夠的時間讓人們起牀並讓他們弄清楚問題所在。
這實際上並不像您想象的那樣常見,因爲應用程序服務器被設計爲集羣和水平擴展,其中單個節點的故障是透明且無關緊要的。另一方面,數據庫服務器通常會以您描述的方式進行故障修復,原因很明顯。 – 2012-04-08 17:22:59
謝謝,應用程序服務器可能是「錯誤」的術語。它是一個獨立的服務器,運行一個與數據庫緊密連接的應用程序,這種應用程序是數據庫的一個長臂,而且根本不是爲了擴展而設計的。 – 2012-04-08 17:29:41