本文是來自阿里巴巴夏周同窗的分享,詳細介紹了阿里雲Redis的發展和現狀。面試
Redis簡介
Redis:Remote Dictionary Server,Key-Value存儲系統,優勢包括:數據庫
- 易用性:豐富的數據結構支持,Module
- 高性能:高校的數據結構設計,全內存操做
- 可靠性:主備同步,持久化
阿里雲Redis架構
總體架構
單節點->單機主備->集羣->讀寫分離->同城容災->異地多活緩存
阿里雲總體架構包含6大支撐系統:安全
實例高可用探測模塊,用於探測監聽Redis實例運行狀況。網絡
進行雲數據庫Redis版運行狀況的日誌收集,包括實例慢查詢日誌,訪問日誌等。數據結構
進行Redis實例性能監控,信息的收集工做,目前包括基本信息組監控,keys組信息監控,string信息組監控等核心信息多線程
當實例所運行的物理機出現故障,在線遷移系統會根據備份系統中的備份文件進行實例從新搭建,保證業務不受影響架構
針對Redis實例進行備份處理,而且將生成的備份文件存儲在OSS系統上進行保存。目前Redis備份系統支持用戶自定義備份設置,可臨時備份而且保存7天內的備份文件。異步
Redis實例支持多中管理控制任務,如建立實例、變動配置、備份實例等,任務系統會根據用戶下發的操做指令,進行靈活控制而且進行任務跟蹤及出錯管理。memcached
雙副本架構
- 適用場景:純緩存,數據持久化
- 性能:8-10w qps
- 鏈路:內部SLB -> Redis
- 訪問方式:兼容全部開源客戶端
- SLA:2副本,HA高可用,秒級切換
集羣雙副本架構
- 適用場景:數據量大,性能要求高
- 性能:100w qps
- 鏈路:內部SLB -> Redis
- 訪問方式:兼容全部開源客戶端
- SLA:分片2副本,高可用
讀寫分離架構
- 適用場景:讀多寫少,超大Key,不要求強一致性
- 優點:
讀寫能力線性擴展;支持全部命令;對用戶透明
同城容災
數據可用性高
- 優點:
用戶數據雙機房熱備,單機房故障,業務無縫切換;機房恢復後,基於Binlog增量同步,防止流量雪崩
異地容災+多活
- 適用場景:
多點讀寫,就近讀寫
- 優點:
容忍N-1機房故障;最終一致;跨地域災備
混合存儲
- 適用場景:
超大數據量,性能要求適中,視頻直播類應用,電商類應用
- 優點:
100%兼容Redis;冷熱數據分離;超高性價比
阿里雲Redis內核優化
- 兼容Memcache協議
- 高可用探測
- AOF Binlog
- 持久化系統優化
- 安全加密
- IO、鏈接優化
持久化系統改造:
- 保留歷史AOF日誌
- 去除AOF Rewrite
- 擴展AOF日誌信息
獨立的端口探測線程:
- 單獨的事件
- 主線程阻塞不受影響
- 壞盤探測
- 慢內存探測
- 快速容災
AOF後臺異步寫優化:
- 新增biowrite模式
- 輕量級別鎖隊列
- bio線程進行線程寫入操做
- 提升性能,避免write慢對主線程的影響
支持Memcache協議:
- 支持文本及二進制協議,徹底兼容
- 複用Redis String對象存儲memcached
- 複用原生Redis同步協議
- 複用原生Redis持久化機制
- 新版本Memcache支持掃描、備份、更多統計信息
混合存儲優化:
- 內存中保持全部key和熱數據
- RocksDB中存冷數據
- 熱數據性能和Redis一致
- 100%兼容Redis
- 數據換出異步寫RocksDB,不阻塞主線程
- 單實例支持TB+數據存儲
網絡IO多線程優化。
聲明:本號全部文章除特殊註明,都爲原創,公衆號讀者擁有優先閱讀權,未經做者本人容許不得轉載,不然追究侵權責任。
關注個人公衆號,後臺回覆【JAVAPDF】獲取200頁面試題!5萬人關注的大數據成神之路,不來了解一下嗎?5萬人關注的大數據成神之路,真的不來了解一下嗎?5萬人關注的大數據成神之路,肯定真的不來了解一下嗎?