天王蓋地虎,
老婆馬上生孩子了,在家待產(chǎn),老婆喜歡玩消消樂類似的休閑游戲,閑置狀態(tài),無(wú)聊的分析一下消消樂游戲的一些技術(shù)問題;
由于我主要是服務(wù)器研發(fā),客戶端屬于半吊子,所以就分析一下消消樂排行榜問題;
第一章
消消樂排行榜大致分為好友排行榜和全國(guó)排行榜;
好友排行榜和全國(guó)排行榜的其實(shí)是重合的只是需要從全國(guó)排行榜中提取出來(lái)而已;
那么就需要記錄所有玩家的通關(guān)記錄已進(jìn)行查詢;
也許你說(shuō)全國(guó)排行榜只顯示前xxx名就好;但是你的好友記錄必須要的吧?你的好友不可能全部進(jìn)入全國(guó)排行榜吧;
而好友排行榜基本都是要去全部顯示出來(lái)排名;
所有那么問題來(lái)了:
我們加入400萬(wàn)用戶,那么每一關(guān)卡都會(huì)有400萬(wàn)記錄;
目前消消樂關(guān)卡開始1200關(guān),那么就是400萬(wàn) x 1200 = 48億條數(shù)據(jù);這他媽的嚇?biāo)廊税。?/h3>
消消樂游戲,最大的技術(shù)關(guān)鍵是排行榜查詢問題,反而寫入速度,和頻率卻不高;
還有重要的一點(diǎn)是每一關(guān)卡的玩家流失率大約:0.xx%;
由于我在家休息中,家里開發(fā)環(huán)境限制所以設(shè)定數(shù)據(jù)存在是sqlite、mysql數(shù)據(jù)庫(kù),其他數(shù)據(jù)庫(kù)有待研究;如果redis 牽涉排序問題,搜索問題,么有想到好的方案;
第二章
我首先設(shè)計(jì)通關(guān)記錄存儲(chǔ)表結(jié)構(gòu)模型;