儲存高可用架構

點擊藍色 喬志勇筆記 關注我喲

加個星標,第一時間獲取推送的文章哦

一、雙機高可用

1、主備方式

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

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

2、主從複製

從機需要提供讀操作,需要考慮主從複製延遲、客戶端感知主從關係等問題

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

3、雙機切換

設計要點:

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

​ 2)切換時機和切換策略

​ 3)如何解決數據衝突

常見架構

1)互聯式

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

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

2)模擬式

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

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

3)中階式

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

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

在這裏插入圖片描述

4、主主複製

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

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

二、集羣高可用

1、數據集中集羣

設計要點:

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

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

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

​ 通過中介zookeeper等

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

​ 通過中介zookeeper等

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

2、數據分散集羣

設計要點:

​ 1)均衡性

​ 2) 容錯性

​ 3) 可伸縮性

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

三、分區高可用

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

設計要點

1)分區規則

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

2)數據量

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

3)複製規則

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

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

獨立式:每個分區有自己獨立的備份中心,規則已提前指定好

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

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

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

在這裏插入圖片描述

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章