億級流量系統架構之如何支撐百億級數據系統的演進(石衫系列文章)

本系列主要介紹石衫系列文章中的億級流量系統架構的演進:

1.億級流量系統架構之如何支撐百億級數據的存儲與計算

2.億級流量系統架構之如何設計高容錯分佈式計算系統

3.億級流量系統架構之如何設計承載百億流量的高性能架構

4.億級流量系統架構之如何設計每秒十萬查詢的高併發架構

5.億級流量系統架構之如何設計全鏈路99.99%高可用架構

相關學習筆記(按照左邊的序列逐個記錄)

1.最終的總體架構:

2.演進架構(重點解決的是高容錯問題)

3.百億流量的高性能架構

主要改進有以下三個方面:

3.1、計算與存儲分離的架構(存儲用kv,計算用mysql利用他的強大的sql能力)
3.2、自研純內存SQL計算引擎(棄用mysql計算能力,自研)
3.3、MQ削峯以及流量控制(控制kv的寫入,屬於前置)

4.每秒十萬的高併發演進

4.1、分庫分表 + 讀寫分離,目的:爲了減少負載,減少單表壓力以及存儲數據
4.2、每秒10萬查詢的高併發挑戰解決方案
    4.2.1、數據的冷熱分離架構(今天和今天以前的數據分離)
    4.2.2、自研Elasticsearch+HBase+純內存的查詢引擎(解決冷數據查詢)
    4.2.3、實時數據存儲引入緩存集羣(解決熱數據查詢,90%入緩存,10%入mysql)

    基於以上的改進,熱數據基於緩存集羣+數據庫集羣來承載高併發的每秒十萬級別的查詢;冷數據基於ES+HBase+內存計算的自研查詢引擎來支撐海量數據存儲以及高性能查詢。

 

5.全鏈路99.99%高可用

5.1、MQ集羣高可用方案
異步轉同步 + 限流算法 + 限制性丟棄流量
5.2、KV集羣高可用保障方案
臨時擴容Slave集羣 + 內存級分片存儲  + 小時級數據粒度(因爲是降級方案,又要做一個balance,所以用戶只能看當天每個小時的數據指標,但是全天彙總的暫時就無法看到)
5.3、實時計算鏈路高可用保障方案
計算任務重分配 + 主備切換機制
5.4、熱數據高可用保障方案
自研緩存集羣查詢引擎 + JVM本地緩存 + 限流機制(超過限制顯示異常)
5.5、冷數據高可用保障方案
收集查詢日誌 + 離線日誌分析 + 緩存高頻查詢(其他的查詢直接返回異常)

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