高可用架構補充篇

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

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

一、計算高可用架構

1、主備模式 分冷備和溫備

2、主從模式 需要按業務設計任務分配器

3、高可用集羣模式

可以完成故障自動切換

1)負載均衡集羣

任務分配器實現分配策略的選擇和服務器的探活

2)非對稱集羣

任務分配器需要考慮服務器的角色

例如zk的每個節點都包含任務分配器,follow節點收到寫請求轉發給leader,讀自己處理。

leader節點故障後zk停止服務選取新的leader

二、業務高可用架構

(1)接口級故障處理方案

核心思想:優先保證核心業務和優先保證絕大部分用戶

1、服務端降級

按照業務的優先級,停掉部分或者全部功能呢

方式:

1)系統後門降級

難以批量操作

2)獨立降級系統

2、客戶端熔斷

設計要點:統一採樣、閾值調優

3、服務端限流

1)基於請求限流(外部)

限制總量、限制時間量

2)基於資源限流(內部)

常見的內部資源有:連接數、文件句柄、線程數、請求隊列

4、服務端排隊策略

具體設計:

排隊模塊:基於rocketmq消息隊列,每個商品保存一個隊列,隊列大小稍微大於商品數量,保證先進先出

服務模塊:處理業務邏輯,異步返回處理結果

調度模塊:根據服務模塊的處理能力,動態調節服務模塊向排隊模塊拉取請求的速度

(2)異地多活解決方案

1、同城異區

應對機房級別故障的最優架構,兩個機房搭建告訴網絡連接,

架構設計上可以將兩個機房當做本地機房來設計,無須額外考慮

2、跨城異地

應對極端災難性事件,架構設計上需解決數據不一致對業務的影響。

新聞類,微博類業務可以採用跨城異地多活

設計技巧:

1)保證核心業務的異地多活

2)保證核心數據最終一致性

3)採用多種手段同步數據

4)只保證絕大部分用戶的異地多活

設計步驟:

1)業務分級

2)數據分類

3)數據同步

4)異常處理

3、跨國異地

應用場景決定了對架構設計要求不高

應用場景:

1)爲不同地區用戶提供服務 ,跨地區賬號無法通用

2)只讀類業務做多活,例如谷歌搜索引擎

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

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

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

在這裏插入圖片描述

在這裏插入圖片描述

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