騰訊互娛高級dba康中良《redis集群在騰訊游戲的應(yīng)用及演變》

騰訊互娛高級dba康中良《redis集群在騰訊游戲的應(yīng)用及演變》

ID:5328795

大?。?.51 MB

頁數(shù):36頁

時(shí)間:2017-12-08

騰訊互娛高級dba康中良《redis集群在騰訊游戲的應(yīng)用及演變》_第1頁
騰訊互娛高級dba康中良《redis集群在騰訊游戲的應(yīng)用及演變》_第2頁
騰訊互娛高級dba康中良《redis集群在騰訊游戲的應(yīng)用及演變》_第3頁
騰訊互娛高級dba康中良《redis集群在騰訊游戲的應(yīng)用及演變》_第4頁
騰訊互娛高級dba康中良《redis集群在騰訊游戲的應(yīng)用及演變》_第5頁
資源描述:

《騰訊互娛高級dba康中良《redis集群在騰訊游戲的應(yīng)用及演變》》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。

1、Redis集群在騰訊游戲的應(yīng)用及演進(jìn)康中良DBA@TencentGameRedisisanopensource,BSDlicensed,advancedkey-valuecacheandstore.Itisoftenreferredtoasadatastructureserversincekeyscancontainstrings,hashes,lists,sets,sortedsets,bitmapsandhyperloglogs.—http://redis.ioRedis特點(diǎn)?速度快QPS10w+?單線程一個(gè)線程干活:收包、發(fā)包、解

2、析?K-V存儲(chǔ)所有數(shù)據(jù)按“key”訪問?純內(nèi)存+持久化數(shù)據(jù)全內(nèi)存,高性能,RDB/AOF落地strings,hashes,lists,sets,sorted?支持多種數(shù)據(jù)結(jié)構(gòu)sets?協(xié)議簡單各種語言的api支持?生產(chǎn)者/消費(fèi)者消息隊(duì)列高性能,異步處理請求隊(duì)列?過期時(shí)間到期數(shù)據(jù)自動(dòng)刪除Redis@騰訊游戲?主要代理手游使用(2013~至今)?實(shí)例數(shù):1900+?數(shù)據(jù)量:2.5T+?訪問量:900億+/天Redis@游戲場景?string:openid映射等?hash:角色信息、裝備道具等?list:DB數(shù)據(jù)緩寫、排隊(duì)等?set:用戶單屬

3、性記錄:好友等?sortedset:全局排行等?過期時(shí)間:定期活動(dòng)禮包發(fā)放等Redis@游戲場景*周排行騰訊手游特點(diǎn)?用戶多?增長快?節(jié)奏快?業(yè)務(wù)多?周期短上線推廣Redis集群在騰訊游戲的應(yīng)用及演進(jìn)階段1:階段2:階段3:展望:直接使用Redis定制+集群服務(wù)在線遷移擴(kuò)縮容冷熱數(shù)據(jù)分離標(biāo)準(zhǔn)化管理海量數(shù)據(jù)支撐在線容量遷移AOF增量落地可用性簡化運(yùn)維管理數(shù)據(jù)SSD落地冷熱數(shù)據(jù)分離2013.72014.32014.8TODO階段一:直接使用Redis直接使用Redis,重點(diǎn)關(guān)注:?標(biāo)準(zhǔn)化管理?可用性Redis-標(biāo)準(zhǔn)化管理?標(biāo)準(zhǔn)安裝,集中管理

4、?統(tǒng)一配置+個(gè)性配置?標(biāo)準(zhǔn)安裝目錄及命名規(guī)范?自動(dòng)化部署?自動(dòng)化部署實(shí)例,支持大量實(shí)例批量安裝?平臺(tái)化?監(jiān)控?統(tǒng)一監(jiān)控內(nèi)容?Redis性能數(shù)據(jù)集中上報(bào)?備份?統(tǒng)一備份策略,本地備份+異地備份Redis-標(biāo)準(zhǔn)化管理?Redis服務(wù)化?上架工作一步完成Redis-可用性?主備部署?master訪問,slaveaof落地+備份?域名接入,自動(dòng)故障切換?Redis故障程序配置不需要修改?故障自動(dòng)切換?方案透明,應(yīng)用無需改造?Whynotzookeeper/LVS?Redis故障自動(dòng)切換DNS管理域名切換GCSGameSvr系統(tǒng)GameSvrDN

5、SRedis(M)故障檢測…..Redis(S)故障Redis切換時(shí)間:1分鐘Redis-容量管理單實(shí)例如果數(shù)據(jù)量太大,帶來的困難:?備份?replication?性能解決:?單機(jī)多實(shí)例?單實(shí)例容量管理:?單實(shí)例<16G(最好<8G)?請求量<5w/s?內(nèi)存超過配置80%告警單線程既是優(yōu)點(diǎn),也是缺點(diǎn)!直接使用Redis的不足?單實(shí)例容量有限?大量實(shí)例管理復(fù)雜?運(yùn)維操作復(fù)雜例如某業(yè)務(wù)模塊:?需500G空間,訪問峰值100w/s,需要30+Redis節(jié)點(diǎn)?程序需自己實(shí)現(xiàn)hash算法,擴(kuò)容還需要修改算法。。階段二:定制-提供集群服務(wù)大量Red

6、is運(yùn)營,重點(diǎn)關(guān)注:?海量數(shù)據(jù)支撐?運(yùn)維管理簡化引入中間件?Redis集群引入twemproxy作為代理:?按key分片?訪問透明,協(xié)議兼容關(guān)于Twemproxy:?Afast,light-weightproxyformemcachedandRedis—https://github.com/twitter/twemproxyTwemproxy定制騰訊定制twemproxy,主要改造:?1.定制hash分片算法(42w)?2.故障切換支持?3.ping/auth命令的支持?關(guān)于twemproxy性能:(與直連Redis對比)Redis集群

7、分片管理?單集群固定分片:42W?key=>hash(key)%420000=>key存儲(chǔ)Redis?擴(kuò)容、縮容操作Redis1getmykey定制twemproxyRedis10-200000Redis2hash(“mykey”)=9642Redis220001-419999Redis集群方案GCSDNS管理系統(tǒng)hash取模Redis(M)Redis(S)GameSvr定制twemproxyRedis(M)Redis(S)DNGameSvr定制twemproxySRedis(M)Redis(S)…..………………集群高可用?1.Red

8、is集群通過DNS+port訪問.?2.當(dāng)twemproxy故障時(shí),GCS系統(tǒng)會(huì)將twemproxy從DNS中剔除掉故障IP,業(yè)務(wù)訪問重試即可恢復(fù).(需重連)?3.當(dāng)Redis實(shí)例故障時(shí),GCS系統(tǒng)會(huì)將所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。