1. 程式人生 > >大型網站技術架構 構建高可用的網站 高可用的數據

大型網站技術架構 構建高可用的網站 高可用的數據

提升 網上 應用 否則 異步 網站 領域 rac 全部

前面的文章介紹了如何構建高可用的應用,高可用的服務,這篇文章繼續介紹如何構建高可用的數據

關鍵詞

  數據備份(熱備,冷備) 失效轉移

網上有個詞很火,叫做大數據時代(DT),說我們都將進入數據時代,通過對用戶信息的收集,分析來建立用戶模型,前段時間,在虎嗅有一條新聞,說淘寶將瀏覽300以下連衣裙的人定義為窮人,數據的重要性不言而喻

對數據的收集,處理(大數據處理),數據安全,數據存儲,數據可用性,這些都涉及到各個細分領域,由於知識有限,目前只懂得個別名詞,直入主題,下面介紹下我們在構建網站架構時,常用的保障數據可用性的方案

當只有一臺數據服務器時,掛掉後,數據就無法訪問,而當部署多臺數據服務器時,我們無法向無應用狀態那樣,擴展機器即可,我們要保障各臺機器上面數據的一致性,否則當某臺數據服務器掛掉後,請求轉移到另一臺數據服務服務器,請求到的數據可能沒有或者是失效的

數據備份方法(主備模式)(一般常用數據庫,有提供對應的集群方案,通過相關配置實現,具體在框架目錄下,後續將介紹oracle等其它數據庫的具體配置)

  • 冷備 定期復制,但不能保證數據最終的一致性 (每天或者每隔一段時間將A服務器上面的數據同步到B服務器上面)
  • 熱備
    • 異步熱備 應用程序調用主存儲(主服務器數據庫),主存儲寫入成功後,立即返回,主存儲異步發起將數據寫入其它副本(主存儲不確定副本有沒有寫入成功
    • 同步熱備 應用程序同時調用主,副服務器,將數據進行寫入,全部都寫入成功,即成功(當只有一個線程操作時,性能方面比較差,可以通過並行提升寫入效率) 

失效轉移

  問題:怎麽判斷服務器宕機了

  • 失效確定 判斷服務器宕機方法
    • 心跳監測 客戶端按一定規律輪詢訪問服務器,當一次或多次無法訪問後,認為服務器已經宕機
    • 程序訪問失效報告
  • 訪問轉移 將請求發送到可以使用的服務器上
  • 數據恢復

大型網站技術架構 構建高可用的網站 高可用的數據