




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、游戲云存儲的架構(gòu)變遷之路目錄?單實例時代? 游戲DB分布介紹? 自動化提供海量DB服務(wù)?多實例時代? 高可用/靈活調(diào)度? MySQL源碼定制?分布式時代? TSpider動態(tài)調(diào)度 (在線擴容及縮容) 單實例時代,游戲DB分布及架構(gòu)?典型游戲DB分布介紹? 大型多人在線游戲(MMOG): 三國/地下城與勇士? 高級休閑游戲(ACG): QQ飛車/英雄聯(lián)盟? 平臺休閑游戲(PLAT):玫瑰小鎮(zhèn)/QQ游戲大廳?游戲DB架構(gòu)簡化? 核心數(shù)據(jù) 熱備? 日志數(shù)據(jù) 單實例MMOG游戲DB分布? 部署策略:就近接入? 切分策略:SET化? 承載策略:Scale Upclusterworldworldzone
2、serverzone serverzone serverzone serverzone serverzone serverdir serverdir serverdir serverlog serverlog servercs server初級游戲服務(wù)器組ACG游戲DB分布? 部署策略:就近接入? 切分策略:水平 + 垂直? 承載策略:Scale Out目錄服務(wù)器客戶端客戶端客戶端DB服務(wù)器DB服務(wù)器DB服務(wù)器日志服務(wù)器日志服務(wù)器LogProxy商店服務(wù)器新手游戲服務(wù)器組公用網(wǎng)絡(luò)分IDCLogProxyProxy服務(wù)器邊境服務(wù)器休閑服務(wù)器新手游戲服務(wù)器組 初級游戲服務(wù)器組Name服務(wù)器&
3、;國家服務(wù)器PLAT游戲DB分布? 部署策略:集中部署,跨IDC容災(zāi)? 切分策略:水平? 承載策略:Scale Out游戲DB架構(gòu)簡化?核心數(shù)據(jù) 增加熱備?日志數(shù)據(jù) 單實例單實例時代,自動化提供海量DB服務(wù)? 效率為王,工具平臺解放DBA雙手250+款游戲(端游+手游)、10000+臺服務(wù)器、20000+個實例690次SQL變更/月,人均每天支撐3個業(yè)務(wù)SQL變更,人均管理著500臺機器、1000個實例? DB服務(wù)舉例單實例DB管理的痛點? 硬件故障影響用戶時間長 ? DB無法實現(xiàn)調(diào)度,DB Scale耗費停機時間長 ? DB加字段耗時長,無透明DB壓縮方案 多實例時代,高可用/靈活調(diào)度? 游
4、戲云存儲架構(gòu)1.0Auto Switch組件? MySQL-PrOxy擴展(基于0.8.2)? 去掉lua擴展,提升性能? 擴展ADMIN接口 ? refresh_backendsrefresh_usersrefresh_cOnnlOg ? shOW prOcesslistshOW balances ? 監(jiān)控? 多點監(jiān)控,IDC內(nèi)/IDC外? 進程探測、SSH探測及TOuch文件? DOuble Check ? 切換前檢查 ? 數(shù)據(jù)一致性檢查? Slave狀態(tài)檢查? Time Delay 故障切換數(shù)據(jù)一致性保證 ? 數(shù)據(jù)自動校驗pt-table-checksum例行化 ? 數(shù)據(jù)塊切分不均在可重
5、復(fù)度隔離級別下的“鎖數(shù)據(jù)”問題 ?源碼改造兩個核心函數(shù)的代碼片段?_chunk_char_exact,引入輔助變量iqq# select $argschunk_col from $argsdb.$argstbl where (i :=i +1) 0 and (i % $chunk_rows) = 1order by $argschunk_col asc #?recursive_dynamic_calculate_chunks,二分遞歸切分 EXPLAIN SELECT * FROM $db_tbl where $col = . $q-quote_val($from_pos) . AND $co
6、l quote_val($end_pos)增 據(jù): - 1個區(qū)間包含5行按數(shù)據(jù)分塊的原理,5000M的表,chunk-size=10M時,只有兩個區(qū)間包含數(shù) 加參數(shù): 第 chunk-size-excat=yes|no 數(shù)據(jù)(id=0 and id 集群管理? 自動分表,應(yīng)用透明TSpider分布式數(shù)據(jù)庫? Spider存儲引擎? Kentoku SHIBA 開發(fā)的基于分區(qū)表的分布式存儲引擎? http:/? TSpider就是spider 3.1基礎(chǔ)上開發(fā)而成,進一步提高了性能、穩(wěn)定性和兼容性,并結(jié)合互娛業(yè)務(wù)特性整合而成的分布式數(shù)據(jù)庫解決方案TSpider分布式數(shù)據(jù)庫? TSpider核心特
7、性? 高效全局自增ID? 自定義分區(qū)策略? 線性擴展(在線擴容縮容)? 兼容MySQL協(xié)議及性能優(yōu)化? SQL并行化TSpider分布式數(shù)據(jù)庫? 高效全局自增ID? 初始編號不同,自增的步長=集群TSpider最大節(jié)點數(shù)(16) ? TSpider重啟后,需select max獲得最大值? 可保證全局自增且唯一,但不保證+1? ID生成效率高但存在空洞ID=1TSpiderID=2TSpiderID=16TSpider。DBDBDBDB。TSpider分布式數(shù)據(jù)庫? 自定義分區(qū)策略 ? 一對多的ER關(guān)系,按照”一”進行切分,減少跨分區(qū)SQL操作Create Table: CREATE TABL
8、E mail ( id int(20) unsigned NOT NULL, accOungd int(11) unsigned NOT NULL, PRIMARY KEY (id), KEY idx_accOungd (accOungd), KEY idx_egme (egme) ) ENGINE=SPIDER DEFAULT CHARSET=uk8 用戶訪問郵件表的SQL # SELECT count(1) FROM mail WHERE accountid = 102393935;# SELECT id, accountid, state, sender, sendername, typ
9、e, title, content, etime,ctime, hasitems, mailitem FROM mail WHERE accountid = 102393935 ;# DELETE FROM mail where accountid=102393935 and id = 142028645;/*! shard_key accound */TSpider分布式數(shù)據(jù)庫? 線性擴展(在線擴容縮容)? 例:一個集群8個shard,存儲層兩個物理機器? 擴容一倍? 具體步驟?.5.確認熱備已經(jīng)完成,無落后且數(shù)據(jù)校驗一致lock all TSpider read only更新
10、集群路由信息unlock tspider斷開slave關(guān)系MySQL 熱備 TSpider分布式數(shù)據(jù)庫? 線性擴展(性能)? 集群整體QPS隨分片數(shù)增加而線性提升TSpider分布式數(shù)據(jù)庫? 兼容MySQL協(xié)議? 支持99.99%SQL語句(join/sum/group by/order by/in/not in/limit/case when)? 支持所有mysql連接協(xié)議,如:CLIENT_FOUND_ROWS? 性能優(yōu)化? 減少網(wǎng)絡(luò)流量? 增加direct SQL? 智能下推- select limit m, n- delete/update limit n- select c1, count(*) from t1 where group by c1? 執(zhí)行計劃相關(guān)? 定期統(tǒng)計遠程表信息 show table status? 禁用index merge,減少SQL分發(fā)數(shù)量 select * from t1 where
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣西2025年01月廣西天峨縣大數(shù)據(jù)發(fā)展局2025年公開招考7名就業(yè)見習(xí)人員筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 酒店衛(wèi)生間藝術(shù)裝飾的設(shè)計技巧
- 母愛的智慧從匯報中看家庭教育
- 四年級數(shù)學(xué)下冊第三單元運算定律乘法的簡便運算教案新人教版
- 高中語文作文朋友不要霧里看花
- 跨界的藝術(shù)設(shè)計創(chuàng)新技術(shù)討論與研究
- 小學(xué)數(shù)學(xué)數(shù)學(xué)故事蘇步青讀書不忘救國
- 貴州2025年01月貴州省體育彩票管理中心2025年招考10名工作人員筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 福建2025年01月福建省2025年度公開遴選538名公務(wù)員筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 廣西課標版2025版高考歷史二輪復(fù)習(xí)專題能力訓(xùn)練3中國古代文明的輝煌與遲滯-明清
- 城市軌道交通工程施工組織設(shè)計與概預(yù)算PPT全套完整教學(xué)課件
- 某高速公路江蘇段施工組織設(shè)計
- 全國青少年機器人技術(shù)等級(機器人二級)考試復(fù)習(xí)題庫(含真題)
- 學(xué)習(xí)弘揚雷鋒精神課件
- 行政區(qū)域代碼表Excel
- 精神病醫(yī)院管理制度
- 化工廠中控DCS系統(tǒng)崗位職責
- 唯物史觀指導(dǎo)初中歷史教學(xué)
- 2023年同等學(xué)力研究生考試教育學(xué)試卷附詳細答案
- 出口貨物稅收函調(diào)系統(tǒng)課件
- 初中物理教育科學(xué)八年級下冊第八章力與運動-力的合成PPT
評論
0/150
提交評論