

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
基于RedisCluster的災(zāi)備與同城雙活實(shí)踐肖博@vivo目錄Redis服務(wù)架構(gòu)RedisClusterArchitecture災(zāi)備與多活的價(jià)值SignificanceofDisasterRecovery災(zāi)備與雙活實(shí)踐Active-ActiveGeo-DistributedDataBase010203CONTENTSRedis服務(wù)架構(gòu)RedisClusterArchitecturePART01RedisServerRedisSentinelRedisServerRedisServerRedisSentinelRedisSentinelMasterSlaveSlaveSSSMMM架構(gòu)演進(jìn)災(zāi)備與多活的價(jià)值SignificanceofDisasterRecoveryPART02災(zāi)備與多活的價(jià)值可用性:
當(dāng)多個(gè)副本或者整機(jī)房故障時(shí),保證Redis服務(wù)可用性用戶體驗(yàn):
跨機(jī)房、跨區(qū)域請求Redis服務(wù)響應(yīng)時(shí)間保障災(zāi)備與雙活的實(shí)踐Active-ActiveGeo-DistributedDataBasePART03災(zāi)備與雙活演進(jìn)被動(dòng)持久化主動(dòng)持久化跨機(jī)房災(zāi)備雙活架構(gòu)被動(dòng)持久化-RDBrdbSaveSnapshot(by
a
forked
process)rdbLoad場景:主從副本都失效的情況下的Redis服務(wù)恢復(fù)問題:業(yè)務(wù)請求Redis響應(yīng)時(shí)間波動(dòng)響應(yīng)時(shí)間波動(dòng)的原因copy
on
writeTransparentHugepagesovercommit_memoryovercommit_ratiordbcompressionsaveProcess1Process2PhysicalmemoryPage
APage
BPage
CPage
DCopy
of
Page
DCOW:After
Process1
modifies
Page
D主動(dòng)持久化-RDBrdbSaveSnapshot(by
a
forked
process)rdbLoad場景:主從副本都失效的情況下的Redis服務(wù)恢復(fù)優(yōu)化點(diǎn):基于策略的主動(dòng)bgsave問題:數(shù)據(jù)完整性較差同周期內(nèi)QPS小于特定值cpu資源使用率小于特定值OSMemory使用情況角色選擇,僅在slave節(jié)點(diǎn)執(zhí)行跨機(jī)房災(zāi)備MMMMMM任務(wù)調(diào)度器workworkwork數(shù)據(jù)校驗(yàn)DB任務(wù)調(diào)度模塊:
備份行為控制、與agent模塊交互,源集群到目的集群的備份調(diào)度模塊,源集群的拓?fù)錉顟B(tài)work:
從源集群的單個(gè)節(jié)點(diǎn)向目標(biāo)集群的rdb復(fù)制和后續(xù)的寫命令同步數(shù)據(jù)校驗(yàn):
集群到集群數(shù)據(jù)定期抽樣校驗(yàn)IDC1IDC2跨機(jī)房災(zāi)備架構(gòu)圖源集群目標(biāo)集群原理介紹SlaveMaster1.同步命令:sync3.傳輸RDB文件RDB文件加載完畢4.發(fā)送緩沖區(qū)命令1.flush
old
data2.加載RDB2.生成RDB文件啟動(dòng)緩沖區(qū)全量增量使用redis主從同步協(xié)議
偽裝slave實(shí)時(shí)同步數(shù)據(jù)使用redis
cluster原理感知集群拓?fù)渥兓髁靠刂婆c增量持久化Redis主從同步流程集群拓?fù)涓兄簭墓?jié)點(diǎn)故障集群主節(jié)點(diǎn)故障集群擴(kuò)容集群縮容slot遷移手動(dòng)FailovertimerepochVS數(shù)據(jù)校驗(yàn)定期抽樣對比校驗(yàn),抽樣比與校驗(yàn)頻次通過平臺(tái)下發(fā)控制在目標(biāo)集群按照參數(shù)配置,抽樣N%的Key,使用randomkey命令在目標(biāo)集群獲取該Key的類型在目標(biāo)集群和源集群分別獲取該Key對應(yīng)的Value值的SHA1值進(jìn)行對比如果相同則對比下一組Key,不同則重復(fù)對比最多10次,10次后依然不相同,
則記錄到日志并匯總到一致性監(jiān)控任務(wù)中源節(jié)點(diǎn)Failover基本原理模擬redis主從全量原理,清理掉全部舊數(shù)據(jù)源集群&目標(biāo)集群拓?fù)洚悩?gòu),flush
slot
dataGet
failover
node
slot
Slot
listCLUSTERCOUNTKEYSINSLOTCLUSTERGETKEYSINSLOTyesPipeline
del外循環(huán)結(jié)束noyes內(nèi)循環(huán)結(jié)束no待解決的問題源端slot遷移,數(shù)據(jù)延遲導(dǎo)致的時(shí)序問題源端slot遷移,未回放完成的RDB時(shí)序問題目標(biāo)端集群down,數(shù)據(jù)一致性問題目標(biāo)及區(qū)間slot遷移,數(shù)據(jù)一致性問題Redis
Cluster雙活架構(gòu)IDC1MMMIDC2MMMProxyProxyProxyProxyrwrwMQ
manager
Transfer
manager
Transfer支持就近讀寫支持統(tǒng)一寫,就近讀底層雙向同步服務(wù)提供有限數(shù)據(jù)類型的最終一致性w客觀因素與需解決的問題客觀因素跨區(qū)域的網(wǎng)絡(luò)時(shí)延和丟包數(shù)據(jù)沖突不可避免Redis無法保證數(shù)據(jù)強(qiáng)一致需解決問題Redis
binlog環(huán)路控制沖突檢測與解決斷點(diǎn)續(xù)傳模塊與數(shù)據(jù)流向RedisRedisagentagentEvent
HeaderEvent
BodyEvent
HeaderEvent
BodyEvent
HeaderEvent
BodyEvent
HeaderEvent
BodyMQManagerTransferAgent負(fù)責(zé)采集節(jié)點(diǎn)產(chǎn)生的本地
數(shù)據(jù)寫入消息隊(duì)列并上報(bào)同步點(diǎn)位至ManagerTransfer負(fù)責(zé)消費(fèi)消息隊(duì)列數(shù)據(jù),寫入Redis,與manager配合
保證恰好消費(fèi)一次Manager負(fù)責(zé)任務(wù)控制與調(diào)度、隊(duì)列監(jiān)控,規(guī)則下發(fā)等Tuna
BinlogEvent
HeaderEvent
BodyEvent
HeaderEvent
BodygroupID:在cluster集群模式下,每一個(gè)分配到slot的master節(jié)點(diǎn)和他相應(yīng)的slave節(jié)點(diǎn),會(huì)由集群分配一個(gè)固定的idclusterID:每個(gè)集群的編號serverID:集群實(shí)例IDtimeStamp:64位時(shí)間戳,精度到毫秒slot:指令的slot編號version:指令的版本opID:指令的自增編號opType:指令的類型flag:event標(biāo)識reserve:保留字段eventLengthclusterIdgroupIdserverIdflagtimeStampversionopTypeopIDreserve40ByteTuna
Agent核心要求環(huán)路控制數(shù)據(jù)不丟功能點(diǎn)環(huán)路控制(篩選Region與LocalCommand)同步位點(diǎn)上報(bào)manager數(shù)據(jù)寫消息隊(duì)列(數(shù)據(jù)不丟)按規(guī)則進(jìn)行同步binlog清理MQTuna-binAgentRPCBinlog
HandlerBinlog
HandlerManager2.msg1.eventbody3.push
postionTunaTransfer核心要求數(shù)據(jù)不丟數(shù)據(jù)不重(exactlyonce)功能點(diǎn)斷點(diǎn)續(xù)傳冪等重試bulkinsert流量控制MQRedis
clusterTransferManager1.
msg2.
Ask
/Write
postion3.
event
bodyTuna
Proxy支持就近讀寫策略支持一致寫,就近讀訪問策略支持訪問控制,支持密碼或者Token支持業(yè)務(wù)節(jié)點(diǎn)訪問控制,按照業(yè)務(wù)授權(quán)讀從節(jié)點(diǎn)且負(fù)載均衡屏蔽Redis底層數(shù)據(jù)遷移高危命令屏蔽ProxyProxyClusterAClusterB應(yīng)用Managerrwrw數(shù)據(jù)沖突PUT:X
=
100PUT:X
=
200GET
X?GET
X?SYNCSYNCData
Center1Data
Center2SYNCSYNC0ms30msCRDT原理:交換律、冪等律、結(jié)合律額外附加信息支持的數(shù)據(jù)類型與命令數(shù)據(jù)類型支持的操作stringSET、DELhashHSET、HMSET,HDEL、HINCRBY、HINCRBYFLOATsetSADD、SREM、SPOPsortsetZADD、ZDEL、ZINCRBYcounterINCR,DECR,INCRBY,DECRBY,INCRBYFLOAT注:業(yè)務(wù)層面需保證沖突的數(shù)據(jù)一定是少量的最終一致性命令支持列表SetCommandTimeRedis1Redis2T1set
phone
”X27”T2setphone“iqoo”T3--sync----sync--T4setphone“NEX”T5--sync--T6setphone“X23”交換律:不滿足結(jié)合律:滿足冪等律:滿足添加時(shí)間戳/uniq
id,滿足偏序關(guān)系LWW:Querylooup(e):boolbletb=(t
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 委托裝修居間合同
- 品牌代理居間合同模板
- 廠房租賃安全責(zé)任協(xié)議模板
- 企業(yè)培訓(xùn)教導(dǎo)處人才培養(yǎng)計(jì)劃
- 小學(xué)語文復(fù)習(xí)計(jì)劃:趣味學(xué)習(xí)方法
- 制造業(yè)晨會(huì)效率提升及流程設(shè)計(jì)
- 企業(yè)間委托代理合同范本
- 蘇寧易購快遞柜服務(wù)合同
- 投資合同相關(guān)附件
- 肉雞養(yǎng)殖場租賃合同
- 2023年東北公司加油站賬務(wù)人員考試題庫
- 2024年四川綿陽初中學(xué)業(yè)水平考試英語試卷真題(含答案詳解)
- 2024至2030年中國數(shù)字壓力表行業(yè)投資前景及策略咨詢研究報(bào)告
- 《SPIN顧問式銷售》課件
- 2025屆河南省鄭州市外國語學(xué)校高三考前熱身英語試卷含解析
- 【初中數(shù)學(xué)】2024-2025學(xué)年人教版七年級數(shù)學(xué)上冊期末模擬練習(xí)
- 統(tǒng)編版九年級道德與法治上冊期中考試卷帶答案
- 公司關(guān)愛基金方案
- 燃料電池+基礎(chǔ)理論動(dòng)力學(xué)+熱力學(xué)+研究方法
- 2023深信服日志審計(jì)系統(tǒng)用戶手冊
- 全國職業(yè)院校技能大賽高職組(社區(qū)服務(wù)實(shí)務(wù)賽項(xiàng))考試題及答案
評論
0/150
提交評論