• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Sheppard Y

            keep thinking keep coding.

            休閑手游服務(wù)器集群擴(kuò)展思考

            2016-07-11 日更新 
            此篇博客已經(jīng)遷移到新博客,并做行文檢查和優(yōu)化排版:
            http://blog.clawz.me/2013/09/30/13-mobile-game-cluster-design/

             


            一、目標(biāo)

                能橫向擴(kuò)展,架構(gòu)要簡單,能做到負(fù)載均衡,避免單節(jié)點(diǎn)負(fù)載太輕的資源浪費(fèi)。

             

            二、數(shù)據(jù)存儲(chǔ)的DB集群

                ​數(shù)據(jù)存儲(chǔ)類型有多種。

            (一)非交互性的個(gè)人數(shù)據(jù)

                ​可通過簡單的id分段。id為1~10000的玩家個(gè)人數(shù)據(jù)存儲(chǔ)在db1,id為10001~20000的玩家個(gè)人數(shù)據(jù)存儲(chǔ)在db2,以此類推。

             

            (二)交互性數(shù)據(jù)

                ​如好友關(guān)系等。

            (1)如果好友關(guān)系可以為單向,那么可以將關(guān)系存到個(gè)人數(shù)據(jù)里。

            (2)如果好友關(guān)系不能為單向,那么需要保證每條關(guān)系保持在要么沒有,要么兩人都認(rèn)同,記數(shù)據(jù)上一直,互相有關(guān)系。那么需要保證相關(guān)的關(guān)系操作的一致性。這樣可能只保存一份每兩個(gè)人之間的關(guān)系,k-v存儲(chǔ)時(shí)需要方向查找,不知是否能實(shí)現(xiàn)。

             

            (三)全局?jǐn)?shù)據(jù)

                ​如全局排行榜之類的。這種放在單獨(dú)的庫里里,專門做全局?jǐn)?shù)據(jù)的存儲(chǔ)。當(dāng)?shù)揭欢ㄒ?guī)模時(shí),按全局?jǐn)?shù)據(jù)的類型再分庫。

                ​家族、幫會(huì)等,也放單獨(dú)的庫里。如果需要擴(kuò)展,再按家族id、幫會(huì)id來分庫。

             

            三、邏輯服務(wù)器集群對DB集群的訪問

                ​DB集群的路由規(guī)則配置到邏輯服務(wù)器的config里。當(dāng)需要熱擴(kuò)展DB時(shí),啟動(dòng)新DB后,給各logic服務(wù)器發(fā)送GM指定,reload路由規(guī)則的config。

                ​DB集群路由規(guī)則的config,可以放在一個(gè)公共地方,各logic服務(wù)器接到GM指令后,去公共地方拉取新的config然會(huì)reload。

             

            四、邏輯服務(wù)器集群

                ​為了架構(gòu)的簡單,可以每個(gè)邏輯服務(wù)器進(jìn)程上都有所有邏輯,擴(kuò)展時(shí),以擴(kuò)展邏輯服務(wù)器進(jìn)程數(shù)量來達(dá)到。

            (一)各邏輯服務(wù)器上玩家分配

                ​邏輯服務(wù)器集群之間的交互。如果邏輯服務(wù)器的使用,也像個(gè)人數(shù)據(jù)存儲(chǔ)的DB那樣id分段——只讓1~10000的玩家登陸logic1,10001~20000的玩家登陸logic2時(shí),這很簡單,但各id斷的玩家活躍度不定的,做不到負(fù)載均衡啊。

                ​所以是根據(jù)當(dāng)時(shí)的負(fù)載情況,來推薦玩家登陸閑的邏輯服務(wù)器的。這樣需要有個(gè)全局映射,知道哪個(gè)玩家登陸在哪個(gè)服務(wù)器上。可以將玩家當(dāng)前所在的服務(wù)器id記錄在該玩家的個(gè)人數(shù)據(jù)所在的db里。

            (二)邏輯服務(wù)器間的通信

                ​目前項(xiàng)目持久化使用redis,最快出東西,就先考慮redis的優(yōu)勢。

                ​邏輯服務(wù)器間的通信,通過全局?jǐn)?shù)據(jù)存儲(chǔ)的redis來做pub/sub轉(zhuǎn)發(fā)吧。

                ​redis的pub和sub的實(shí)時(shí)性不夠時(shí),​將有實(shí)時(shí)性需求的玩家都轉(zhuǎn)到一個(gè)專門做強(qiáng)實(shí)時(shí)性的特殊邏輯服務(wù)器。

             

            五、PS

                ​公司的項(xiàng)目是Node.js+Redis,業(yè)余時(shí)間打算用Go寫個(gè)服務(wù)器引擎。

                ​這篇考慮發(fā)到精華區(qū),可以得到很多的批評建議。

            posted on 2013-09-30 10:46 Sheppard Y 閱讀(2484) 評論(2)  編輯 收藏 引用 所屬分類: 設(shè)計(jì)架構(gòu)

            評論

            # re: 休閑手游服務(wù)器集群擴(kuò)展思考 2013-10-07 21:40 Kevin Lynx

            期待發(fā)出更多的經(jīng)驗(yàn)。  回復(fù)  更多評論   

            # re: 休閑手游服務(wù)器集群擴(kuò)展思考 2013-10-09 09:14 zuhd

            redis+go 好高端啊  回復(fù)  更多評論   

            <2013年10月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            導(dǎo)航

            統(tǒng)計(jì)

            留言簿(1)

            隨筆分類(77)

            隨筆檔案(58)

            me

            基友

            同行

            業(yè)界前輩

            最新隨筆

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            7777久久久国产精品消防器材| 国产精品成人久久久| 久久99中文字幕久久| 久久这里只有精品首页| 久久精品一区二区影院| 国内精品伊人久久久久777| 久久av无码专区亚洲av桃花岛| 久久久久久免费一区二区三区| 久久人人爽人人精品视频| 99久久无色码中文字幕人妻| 久久香蕉综合色一综合色88| 少妇久久久久久被弄到高潮| 日韩AV无码久久一区二区| 国产成人精品久久亚洲高清不卡 国产成人精品久久亚洲高清不卡 国产成人精品久久亚洲 | 久久精品成人国产午夜| 亚洲国产成人乱码精品女人久久久不卡 | 亚洲va久久久久| 亚洲成色999久久网站| 无码伊人66久久大杳蕉网站谷歌| 国产成人久久精品二区三区| 亚洲乱码精品久久久久..| 欧美国产成人久久精品| 国产精品99久久精品爆乳| 久久精品aⅴ无码中文字字幕重口| 久久国内免费视频| 久久夜色精品国产www| 国产精品午夜久久| 亚洲乱亚洲乱淫久久| 精品久久一区二区| 狠色狠色狠狠色综合久久 | 免费精品久久天干天干| 久久夜色撩人精品国产| 狠狠色丁香婷婷综合久久来来去| 久久99国产精品尤物| 国产精品美女久久久久| 久久婷婷国产综合精品| …久久精品99久久香蕉国产 | 亚洲美日韩Av中文字幕无码久久久妻妇| 久久婷婷久久一区二区三区| 久久99精品国产一区二区三区| 久久久久久久97|