
我一直在閱讀有關完全冗餘的內容,以實現在專用伺服器上運行的關鍵任務應用程式(處理財務資料)的幾乎(如果不是100%)正常運行時間,但我仍然無法理解如何做到這一點。
1) 假設我目前的伺服器上執行多個 Web 應用程式(包含大量且頻繁的檔案和資料庫更新)。根據我的閱讀,我需要獲得另一台專用伺服器(作為備份伺服器),我可以在其中鏡像所有文件和資料庫數據,並且如果我的主伺服器因任何原因出現故障,我的備份伺服器將立即承擔負載。從主伺服器到備份伺服器的傳輸是透過 DNS 完成的。它是否正確?還有比這更好的實現冗餘的方法嗎?
2)如果我們按照#1 中提到的操作,如果主伺服器再次上線會發生什麼情況?主伺服器如何趕上備份伺服器上所做的所有變更?
3)是否有我可以閱讀的明確指南,了解我可以做到這一點的最佳方式?我已經透過 Google 進行了搜索,但我遇到的大多數情況對我們來說不起作用,因為我們的網路應用程式至少不能關閉超過 5 分鐘,而且我們不能丟失 5 分鐘的資料。
4)有沒有可以為我們做這件事的服務?由於我們已經擁有一個現有的專用伺服器,因此該服務必須圍繞現有的工作環境運作。但我更希望自己能夠學習如何做到這一點。
如果你們能在這裡指出正確的方向,我將不勝感激。
答案1
這完全取決於所使用的特定應用程式的體系結構和可用性選項。
您的資料庫支援叢集部署嗎?鏡像/複製部署?兩個都?每個都有哪些注意事項?故障轉移/恢復過程是怎樣的?資源配置要求?你的網頁應用程式怎麼樣?可以聚類嗎?負載平衡?兩個都?你的 ISP 怎麼樣?您有多餘的網路連線嗎?從不同的管道進入建築物的不同側面,這樣施工就不會破壞兩者?你的電源配置是什麼?您有冗餘電源嗎?冗餘 UPS?資料中心的發電機?
這些問題並不打算在這裡得到解答 - 它旨在向您展示設計此類解決方案的冰山一角。 100% 正常運作時間是一個無法實現的目標,但如果您想盡可能接近這一目標,您應該聘請有經驗的人,因為根據您的問題內容,您還遠遠沒有準備好。
答案2
MDMarra 是正確的,這不是一個可以在這裡合理地明確回答的問題(+1)。
您需要跨 OSI 模型的所有七層查看您的應用程序,然後在以下位置添加冗餘:每個等級。您很可能需要所有相關開發人員和管理員的意見。
當管理階層開始抱怨價格標籤時,準備好就停機成本與冗餘成本進行討論。一個好的經驗法則是,每個小數點(99.9% -> 99.99% -> 等)都等於成本末尾的另一個零,因此它可能會歸結為滿足技術需求和需求的經過充分研究的設計和執行。管理層對成本的擔憂。建立一個價值百萬美元的解決方案來保護價值 1000 美元的應用程式是非常沒有意義的。
然而,如果管理階層給你一張空白支票,我相信有很多人願意諮詢 =)