儲存高可用架構

clipboard.png

1、雙機高可用

一、主備方式

主機和備機雙方只須要進行數據複製便可,無須進行狀態判斷和主備切換這類複雜的操做面試

應用場景:內部的後臺管理系統mongodb

二、主從複製

從機須要提供讀操做,須要考慮主從複製延遲、客戶端感知主從關係等問題服務器

應用場景:寫少讀多的新聞網站架構

三、雙機切換

設計要點:

​ 1)主備間的狀態傳遞的內容 和渠道分佈式

​ 2)切換時機和切換策略微服務

​ 3)如何解決數據衝突學習

常見架構

1)互聯式 網站

​ 主備機直接創建狀態傳遞的渠道spa

​ 設計須知:通道故障問題比較難處理設計

2)模擬式

​ 備機模擬成客戶端,根據讀寫操做的響應狀況來判斷主機狀態

​ 設計須知:判斷有限,可能出現雙主

3)中階式

​ 引入zookeeper 或keepalived 這樣的第三方中介,主備上報狀態到中介,中介最終決策 ,例如mongodb

​ 設計須知: 必須保證中介的高可用

圖片描述

四、主主複製

兩臺服務器都是主機,相互之間複製,客戶端任意選擇讀寫

設計須知:不適用註冊,庫存等數據

2、集羣高可用

一、數據集中集羣

設計要點:

​ 1)主機如何將數據複製給備機

​ 消息隊列同步、 備機相互複製

​ 2)備機如何檢測主機狀態

​ 經過中介zookeeper等

​ 3) 主機故障後,如何選擇新主機

​ 經過中介zookeeper等

適用場景:數據量不大,集羣機器數量很少,例如zookeeper集羣

二、數據分散集羣

設計要點:

​ 1)均衡性

​ 2) 容錯性

​ 3) 可伸縮性

適用場景: 數據量巨大,集羣機器數量龐大,例如 hbase集羣、Elasticsearch集羣、gossip協議集羣

3、分區高可用

不一樣分區處於不一樣地理位置,每一個分區儲存一部分數據,下降故障影響比例

設計要點

1)分區規則

國家間的分區僅用於數據備份,城市分區用於解決業務上的異地多活

2)數據量

數據量越大,設計複雜越大

3)複製規則

集中式: 備份儲存在總的備份中心

互備式:每一個分區隨機儲存另一個分區的備份數據

獨立式:每一個分區有本身獨立的備份中心,規則已提早指定好

限時分享面試&學習福利資源

好資料第一時間分享,中華石杉老師的分佈式面試突擊視頻教程,最清晰總體的微服務全面解讀的PDF,體系化的Java路線資料整理的Github,億級電商架構的視頻實戰課程,你值得擁有

獲取方式: 關注公衆號喬志勇筆記, 後臺回覆"學習資料" !!

圖片描述

圖片描述

相關文章
相關標籤/搜索