本文是來自阿里巴巴夏周同學(xué)的分享惠拭,詳細(xì)介紹了阿里云Redis的發(fā)展和現(xiàn)狀债鸡。
Redis簡(jiǎn)介
Redis:Remote Dictionary Server江滨,Key-Value存儲(chǔ)系統(tǒng),優(yōu)點(diǎn)包括:
- 易用性:豐富的數(shù)據(jù)結(jié)構(gòu)支持厌均,Module
- 高性能:高校的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)唬滑,全內(nèi)存操作
- 可靠性:主備同步,持久化
阿里云Redis架構(gòu)
整體架構(gòu)
單節(jié)點(diǎn)->單機(jī)主備->集群->讀寫分離->同城容災(zāi)->異地多活
阿里云整體架構(gòu)包含6大支撐系統(tǒng):
- HA控制系統(tǒng)
實(shí)例高可用探測(cè)模塊,用于探測(cè)監(jiān)聽Redis實(shí)例運(yùn)行情況晶密。
- 日志收集系統(tǒng)
進(jìn)行云數(shù)據(jù)庫Redis版運(yùn)行情況的日志收集擒悬,包括實(shí)例慢查詢?nèi)罩荆L問日志等稻艰。
- 監(jiān)控系統(tǒng)
進(jìn)行Redis實(shí)例性能監(jiān)控懂牧,信息的收集工作,目前包括基本信息組監(jiān)控尊勿,keys組信息監(jiān)控僧凤,string信息組監(jiān)控等核心信息
- 在線遷移系統(tǒng)
當(dāng)實(shí)例所運(yùn)行的物理機(jī)出現(xiàn)故障,在線遷移系統(tǒng)會(huì)根據(jù)備份系統(tǒng)中的備份文件進(jìn)行實(shí)例重新搭建元扔,保證業(yè)務(wù)不受影響
- 備份系統(tǒng)
針對(duì)Redis實(shí)例進(jìn)行備份處理躯保,并且將生成的備份文件存儲(chǔ)在OSS系統(tǒng)上進(jìn)行保存。目前Redis備份系統(tǒng)支持用戶自定義備份設(shè)置澎语,可臨時(shí)備份并且保存7天內(nèi)的備份文件吻氧。
- 任務(wù)控制系統(tǒng)
Redis實(shí)例支持多中管理控制任務(wù),如創(chuàng)建實(shí)例咏连、變更配置盯孙、備份實(shí)例等,任務(wù)系統(tǒng)會(huì)根據(jù)用戶下發(fā)的操作指令祟滴,進(jìn)行靈活控制并且進(jìn)行任務(wù)跟蹤及出錯(cuò)管理振惰。
雙副本架構(gòu)
- 適用場(chǎng)景:純緩存,數(shù)據(jù)持久化
- 性能:8-10w qps
- 鏈路:內(nèi)部SLB -> Redis
- 訪問方式:兼容所有開源客戶端
- SLA:2副本垄懂,HA高可用骑晶,秒級(jí)切換
集群雙副本架構(gòu)
- 適用場(chǎng)景:數(shù)據(jù)量大,性能要求高
- 性能:100w qps
- 鏈路:內(nèi)部SLB -> Redis
- 訪問方式:兼容所有開源客戶端
- SLA:分片2副本草慧,高可用
讀寫分離架構(gòu)
- 適用場(chǎng)景:讀多寫少桶蛔,超大Key,不要求強(qiáng)一致性
- 優(yōu)勢(shì):
讀寫能力線性擴(kuò)展漫谷;支持所有命令仔雷;對(duì)用戶透明
同城容災(zāi)
- 適用場(chǎng)景:
數(shù)據(jù)可用性高
- 優(yōu)勢(shì):
用戶數(shù)據(jù)雙機(jī)房熱備,單機(jī)房故障舔示,業(yè)務(wù)無縫切換碟婆;機(jī)房恢復(fù)后,基于Binlog增量同步惕稻,防止流量雪崩
異地容災(zāi)+多活
適用場(chǎng)景:
多點(diǎn)讀寫竖共,就近讀寫優(yōu)勢(shì):
容忍N(yùn)-1機(jī)房故障;最終一致俺祠;跨地域?yàn)?zāi)備
混合存儲(chǔ)
適用場(chǎng)景:
超大數(shù)據(jù)量公给,性能要求適中借帘,視頻直播類應(yīng)用,電商類應(yīng)用優(yōu)勢(shì):
100%兼容Redis淌铐;冷熱數(shù)據(jù)分離姻蚓;超高性價(jià)比
阿里云Redis內(nèi)核優(yōu)化
- 兼容Memcache協(xié)議
- 高可用探測(cè)
- AOF Binlog
- 持久化系統(tǒng)優(yōu)化
- 安全加密
- IO、連接優(yōu)化
持久化系統(tǒng)改造:
- 保留歷史AOF日志
- 去除AOF Rewrite
- 擴(kuò)展AOF日志信息
- 全新的數(shù)據(jù)組織形式:RDB全量+歷史AOF
- 基于AOF Binlog的同步機(jī)制
獨(dú)立的端口探測(cè)線程:
- 單獨(dú)的事件
- 主線程阻塞不受影響
- 壞盤探測(cè)
- 慢內(nèi)存探測(cè)
- 快速容災(zāi)
AOF后臺(tái)異步寫優(yōu)化:
- 新增biowrite模式
- 輕量級(jí)別鎖隊(duì)列
- bio線程進(jìn)行線程寫入操作
- 提高性能匣沼,避免write慢對(duì)主線程的影響
支持Memcache協(xié)議:
- 支持文本及二進(jìn)制協(xié)議,完全兼容
- 復(fù)用Redis String對(duì)象存儲(chǔ)memcached
- 復(fù)用原生Redis同步協(xié)議
- 復(fù)用原生Redis持久化機(jī)制
- 新版本Memcache支持掃描捂龄、備份释涛、更多統(tǒng)計(jì)信息
混合存儲(chǔ)優(yōu)化:
- 內(nèi)存中保持所有key和熱數(shù)據(jù)
- RocksDB中存冷數(shù)據(jù)
- 熱數(shù)據(jù)性能和Redis一致
- 100%兼容Redis
- 數(shù)據(jù)換出異步寫RocksDB,不阻塞主線程
- 單實(shí)例支持TB+數(shù)據(jù)存儲(chǔ)
網(wǎng)絡(luò)IO多線程優(yōu)化倦沧。
關(guān)注我的公眾號(hào)唇撬,后臺(tái)回復(fù)【JAVAPDF】獲取200頁面試題!
5萬人關(guān)注的大數(shù)據(jù)成神之路展融,不來了解一下嗎窖认?
5萬人關(guān)注的大數(shù)據(jù)成神之路,真的不來了解一下嗎告希?
5萬人關(guān)注的大數(shù)據(jù)成神之路扑浸,確定真的不來了解一下嗎?