16:20+-+17:10+鄭良櫸-網(wǎng)易游戲+MongoDB+集群在線升級(jí)遷移實(shí)踐_第1頁
16:20+-+17:10+鄭良櫸-網(wǎng)易游戲+MongoDB+集群在線升級(jí)遷移實(shí)踐_第2頁
免費(fèi)預(yù)覽已結(jié)束,剩余20頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

網(wǎng)易游戲MongoDB集群在線升級(jí)遷移(網(wǎng)易游戲-鄭良櫸){

“id”:“CS2_182”,

“name”:“冰風(fēng)”,

“type”:“Minion”,

“faction”:“Neutral”,

“rarity”:“Common”,

“cost”:4,

“attack”:4,

“health”:5,

“flavor”:“他夢想著有一天能夠下山開一間拉面店。但他沒有那個(gè)勇氣?!?

“artist”:“MauroCascioli”,

“collectible”:true,

“howToGetGold”:“45級(jí)后可解鎖成就。”}MongoDB在網(wǎng)易游戲N

mongos

+

N

shards

+

3

config

+

1

log

server服務(wù)擴(kuò)展性功能規(guī)范性管理統(tǒng)一性MongoDB在網(wǎng)易游戲日常性服務(wù)短時(shí)停服維護(hù)游戲合服服務(wù)拆分版本升級(jí)[游戲策劃]A+B=>A/C[游戲程序]移動(dòng)端PC端主機(jī)端[游戲程序]新功能支持BUG修復(fù)游戲引擎特性數(shù)據(jù)處理Source

MongoDBDest

MongoDBScheduler備份模式實(shí)時(shí)模式full

base

dataoplogfull

base

dataoplogMongoDB

Stream備份模式獲取源集群屬性恢復(fù)當(dāng)前時(shí)間最近的一次全量備份訪問oplog備份集群實(shí)時(shí)重放切換或維護(hù)時(shí)間點(diǎn)校驗(yàn)schedulerdailyrecover-3processoroplog.queue(withcolleciton)orderedOplogDatabasefulldatabulkerbulkerbulkeroplogreaderwriterwriterwriter…dailyrecover-1dailyrecover-2fromoplogbackupcluster獨(dú)立存儲(chǔ)備份模式不會(huì)影響線上服務(wù)可指定庫表級(jí)別恢復(fù),以表為最小粒度并發(fā)執(zhí)行支持2.6-4.0版本,無法直接升級(jí)版本,只能優(yōu)先同步或遷移到同版本新集群必須有備份:全量備份與oplog備份scheduleroplogreader-1oplogreader-2processoroplog.queue(withcolleciton)orderedOplogDataSourceData

&

SourceOplogbulkerbulkerbulkerparsorwriterwriterwriter…dumperbackuper同步分片屬性信息創(chuàng)建/讀取操作時(shí)間戳文件是否首次同步同步索引與全量數(shù)據(jù)備份oplog同步oplogNYYStop

balancer實(shí)時(shí)模式支持2.6-4.0版本,同版本以及跨版本(升級(jí))同步遷移實(shí)時(shí)模式支持從分片secondary并行拉取數(shù)據(jù)并通過目的mongos寫入支持指定庫表級(jí)別恢復(fù),以表為最小粒度并發(fā)執(zhí)行支持oplog層面的斷點(diǎn)恢復(fù)同步功能支持同步集群sharding信息與數(shù)據(jù)索引對(duì)線上負(fù)載可能有點(diǎn)影響,需要拉取全量數(shù)據(jù)與oplog數(shù)據(jù)自動(dòng)分片configConfig.collectionsmongos維護(hù)shardkey列表關(guān)系定時(shí)獲取更新維護(hù)全量同步shardqueuedumperdumperbackuperbackuper目標(biāo)集群以集合為最小單位并行同步,遍歷所有集合shardshardoplogoplogdatadatatmp

oplogparsor{

"_id":ObjectId("5cb61cae8fda957345ed7e08"),

"ts":Timestamp(1555438750,1),

"t":NumberLong(1),

"h":NumberLong("-977284382658952048"),

"v":2,

"op":"u",

"ns":"ease",

"o2":{

"_id":{

"c":0,

"b":332434

}

},

"o":{

"$set":{

"e":NumberLong(801927)

}

}}有序要求有序要求parsorreaderparsorparsorparsorparsor123132順序改變問題1:doc間順序改變單個(gè)隊(duì)列+多個(gè)parsor:可能無法保證最終順序單個(gè)隊(duì)列+單個(gè)parsor:效率較低問題1方案:多隊(duì)列實(shí)現(xiàn)parsorreader805162734123parsorparsorparsorparsor5162734processorindex=0index=(index+1)%4index=(index+1)%4CPU密集型操作parsorreaderparsorparsorparsorparsor_idea問題2:doc

內(nèi)字段順序改變{“_id”:{c:1,b:1},e:1,a:1}_idea{a:1,“_id”:{b:1,c:1},e:1}{“_id”:{b:1,c:1},e:1,a:1}有序存取保證并行寫入processorbulkerbulkerbulkernswriterwriterwriter目標(biāo)集群col1col3col4col5col2col6按namespace分類oplog{"ts":Timestamp(1534302280,1),"t":NumberLong(12),"h":NumberLong(6150356862929151464),"v":2,"op":"c","ns":"test.$cmd","o":{"create":“test.col1"}}namespace選取操作處理Collection內(nèi)部命令在bulker內(nèi)批量處理其它命令(db)在processor中處理,bulker間同步bulkeroplogcmdoplogcmdoplogoplogoplogbulkerbulkerprocessorInsert(op:i)

Update(op:u)Delete(op:d)Command(op:c)(op:n忽略)特殊處理臟數(shù)據(jù)(孤兒數(shù)據(jù))dumperdumperdest

cluster_idea{“_id”:{c:1,b:1},e:1,a:1}{“_id”:{c:1,b:1},e:1,a:2}{“_id”:{c:1,b:1},e:1,a:?}Sourcemongos第2條以上數(shù)據(jù)檢查chunk分布

(效率)updatetmpdatacolinsert斷點(diǎn)恢復(fù)全量數(shù)據(jù)同步期間失敗,暫時(shí)無法恢復(fù)Oplog數(shù)據(jù)同步中斷根據(jù)timestamp恢復(fù)processorbulkerbulkerbulkerbulkert1t2t3t4重試Timestamp=min(t1,t2,t4)繼續(xù)Timestamp=max(t1,t2,t3,t4)原則:timestamp之前的所有oplog都已經(jīng)執(zhí)行完畢根據(jù)每個(gè)bulker返回的timestamp進(jìn)行選舉方案對(duì)比備份模式實(shí)時(shí)模式備份依賴依賴全量備份以及oplog備份無需要求存在備份集群信息支持shardkey信息以及索引信息遷移,分片數(shù)需要與源集群完全相同支持shardkey信息以及索引信息遷移,分片數(shù)可與源集群不同線上

溫馨提示

  • 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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論