• <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>

            X-Matrix

            MMORPG無(wú)縫服務(wù)器設(shè)計(jì)

            無(wú)縫服務(wù)器概述

            所謂的無(wú)縫服務(wù)器是指一個(gè)游戲只有一個(gè)游戲世界,游戲中所有的角色都互相可見(jiàn),可交互的。
            傳統(tǒng)的游戲服務(wù)器是分區(qū)的。進(jìn)入游戲之前,先要選擇游戲服務(wù)器組,再選擇一個(gè)服務(wù)進(jìn)入。進(jìn)入游戲后如何要從一個(gè)地圖到另一個(gè)地圖,則要切換服務(wù)器(客戶端或者接入服務(wù)器內(nèi)部切換),對(duì)玩家來(lái)說(shuō),則是畫面切換,像大話西游,傳奇都是這樣。魔獸世界在進(jìn)入服務(wù)器后,如果不前往另一個(gè)大陸,則無(wú)換面切換,但 這不是真正的無(wú)縫。
            無(wú)縫服務(wù)器復(fù)雜的根本是服務(wù)大量(甚至海量)玩家的要求。玩家多意味著交互多,數(shù)據(jù)流量大,必然要將請(qǐng)求發(fā)往多個(gè)服務(wù)器處理,于是問(wèn)題就來(lái)了,那就是服務(wù)器交互。傳統(tǒng)分區(qū)服務(wù)器設(shè)計(jì)也是多服務(wù)器的,但服務(wù)器相數(shù)量較小,交互的復(fù)雜性不大。但,考慮無(wú)縫服務(wù)器要服務(wù)的是海量的玩家請(qǐng)求,服務(wù)器數(shù)量比傳統(tǒng)服務(wù)器大的多。
            考慮下面的情況:
            A玩家連接svr1,B玩家連接svr2,C玩家連接服務(wù)器svr3。現(xiàn)在A要砍B一下,svr1接到了A砍B的請(qǐng)求,但在svr1上沒(méi)有B玩家,它如何才能找到B呢?也許加一個(gè)全局的玩家位置服務(wù)器可以解決這個(gè)問(wèn)題,這個(gè)服務(wù)器上記錄了每個(gè)玩家位于哪個(gè)服務(wù)器。但,考慮下,這個(gè)全局服務(wù)器只有一臺(tái)嗎?它可以處理所有的玩家嗎?如果人數(shù)太多,在增加一臺(tái)這樣的服務(wù)器會(huì)怎么樣?它們之間如何交互?很快就會(huì)發(fā)現(xiàn),這個(gè)方法行不同。其實(shí),這種全局服務(wù)器 的存在是分區(qū)服務(wù)器時(shí)代的產(chǎn)物,在無(wú)縫的前提下,不會(huì)在有全局服務(wù)器這樣的東西。全局意味著唯一,而無(wú)縫則要求無(wú)限動(dòng)態(tài)擴(kuò)展。
            無(wú)縫服務(wù)器的關(guān)鍵是維護(hù)一個(gè)服務(wù)的網(wǎng)狀結(jié)構(gòu),只有這樣,才可能動(dòng)態(tài)擴(kuò)展。

            posted on 2008-07-30 14:56 x-matrix 閱讀(1933) 評(píng)論(11)  編輯 收藏 引用

            評(píng)論

            # re: 無(wú)縫服務(wù)器概述 2008-07-30 15:21 Niino

            關(guān)注  回復(fù)  更多評(píng)論   

            # re: 無(wú)縫服務(wù)器概述 2008-07-30 16:21 lwan

            p-2-p ??? 分布式??? 我瞎猜想的,沒(méi)做過(guò)服務(wù)器。  回復(fù)  更多評(píng)論   

            # re: 無(wú)縫服務(wù)器概述 2008-07-30 16:28 unnamed

            在沒(méi)有全局服務(wù)器的情況下,如果要查找B玩家,會(huì)有遍歷多個(gè)服務(wù)器的可能性吧?  回復(fù)  更多評(píng)論   

            # re: 無(wú)縫服務(wù)器概述 2008-07-30 17:30 Jeff Chen

            我覺(jué)得可以參考GSM移動(dòng)通訊網(wǎng)絡(luò)的設(shè)計(jì)。

            每個(gè)區(qū)域(一般是一個(gè)城市)都會(huì)有一個(gè)有一個(gè)HLR(歸屬服務(wù)寄存器)記錄該區(qū)域所有用戶的信息,包括當(dāng)前所在位置。

            當(dāng)移動(dòng)用戶漫游到其它區(qū)域時(shí),該區(qū)域所在的HLR根據(jù)用戶的電話號(hào)碼,向用戶所屬的HLR發(fā)信息獲取用戶信息和登記其所在區(qū)域。當(dāng)然,用戶移動(dòng)電話的狀態(tài)改變,同樣會(huì)通知其HLR。

            當(dāng)有電話撥打漫游用戶電話時(shí),其所在的網(wǎng)絡(luò)會(huì)先向漫游用戶所屬的HLR詢問(wèn)位置,再撥打電話。

            那么,類似的,在分區(qū)服務(wù)器增加一個(gè)類似HLR的服務(wù),并在分區(qū)間的保持游戲用戶位置。

            當(dāng)?shù)谝淮蜗駼消息時(shí),先詢問(wèn)其所屬分區(qū)的HLR服務(wù),獲取其所在位游戲服務(wù)器(需要考慮位置緩存及策略),再直接向所在的游戲服務(wù)器發(fā)送消息。

            這樣既可以實(shí)現(xiàn)游戲用戶在分區(qū)間‘漫游’,又不需要一個(gè)全局的服務(wù)器,易于維護(hù)和擴(kuò)展。  回復(fù)  更多評(píng)論   

            # re: 無(wú)縫服務(wù)器概述 2008-07-30 23:19 x-matrix

            @Jeff Chen
            "當(dāng)移動(dòng)用戶漫游到其它區(qū)域時(shí),該區(qū)域所在的HLR根據(jù)用戶的電話號(hào)碼,向用戶所屬的HLR發(fā)信息獲取用戶信息和登記其所在區(qū)域。"
            當(dāng)前的HLR如何找到用戶原來(lái)所在的HLR來(lái)獲取信息呢?似乎存在某種服務(wù)查找或者消息自動(dòng)路由機(jī)制,所得請(qǐng)求被恰當(dāng)?shù)姆?wù)器處理。  回復(fù)  更多評(píng)論   

            # re: 無(wú)縫服務(wù)器概述 2008-07-31 08:10 Jeff Chen

            @x-matrix
            根據(jù)用戶電話號(hào)碼的號(hào)碼段,如1391234,是北京的。

            當(dāng)然,這個(gè)號(hào)碼段和HLR的對(duì)應(yīng)表是在各個(gè)HLR間同步的。當(dāng)一個(gè)HLR增加一個(gè)號(hào)碼段時(shí),會(huì)通知其它HLR。

            游戲用戶的用戶號(hào)碼也可以通過(guò)類似的做法。  回復(fù)  更多評(píng)論   

            # re: 無(wú)縫服務(wù)器概述 2008-07-31 10:29 bobcy

            云風(fēng)的blog上好像看到過(guò)類似如何設(shè)計(jì)無(wú)縫服務(wù)器的文章。  回復(fù)  更多評(píng)論   

            # re: 無(wú)縫服務(wù)器概述 2008-07-31 10:32 x-matrix

            @bobcy
            他是大世界,不是完全無(wú)縫。
              回復(fù)  更多評(píng)論   

            # re: 無(wú)縫服務(wù)器概述 2008-08-05 20:18 天涯明月刀

            你這種所謂無(wú)縫,純粹是找茬,不存在這樣的設(shè)計(jì)結(jié)構(gòu),玩家視野內(nèi)的其他玩家涉及到復(fù)雜的狀態(tài)同步,是不可能做在兩個(gè)服務(wù)器上的  回復(fù)  更多評(píng)論   

            # re: 無(wú)縫服務(wù)器概述 2008-08-11 09:51 x-matrix

            @天涯明月刀
            在地圖的交疊區(qū)域,玩家是位于兩個(gè)服務(wù)器上的,bigworld既是此種。
              回復(fù)  更多評(píng)論   

            # re: 無(wú)縫服務(wù)器概述[未登錄](méi) 2008-08-22 18:48 flyswift

            你這種所謂無(wú)縫,純粹是找茬,不存在這樣的設(shè)計(jì)結(jié)構(gòu),玩家視野內(nèi)的其他玩家涉及到復(fù)雜的狀態(tài)同步,是不可能做在兩個(gè)服務(wù)器上的
            ========
            說(shuō)得對(duì),這種無(wú)縫會(huì)導(dǎo)致服務(wù)器邏輯異常復(fù)雜與低效。  回復(fù)  更多評(píng)論   


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            公告

            MMORPG無(wú)縫服務(wù)器論壇
            Google Groups
            xmatrix
            Visit this group

            導(dǎo)航

            統(tǒng)計(jì)

            留言簿(2)

            隨筆檔案

            最新評(píng)論

            閱讀排行榜

            久久精品国产亚洲av水果派| 国产精品无码久久综合网| 亚洲国产日韩欧美综合久久| 少妇人妻综合久久中文字幕| 日本人妻丰满熟妇久久久久久| 久久久久亚洲AV片无码下载蜜桃| 91久久精品无码一区二区毛片| 麻豆精品久久久久久久99蜜桃| 国产精品无码久久综合| 欧美色综合久久久久久| 亚洲AV日韩精品久久久久| 国产日韩久久久精品影院首页| 7777精品久久久大香线蕉| 精品久久久久久无码国产| 久久精品无码专区免费青青| 久久夜色撩人精品国产小说| 国产精品一区二区久久精品| 久久综合久久综合亚洲| 中文字幕亚洲综合久久| 人妻久久久一区二区三区| 亚洲欧美一区二区三区久久| 欧美精品一区二区精品久久| 久久亚洲AV成人无码软件| 三级韩国一区久久二区综合| 久久夜色精品国产亚洲| 国产亚洲精久久久久久无码| 久久精品国产2020| 精品久久人人爽天天玩人人妻| 久久精品国产亚洲7777| 久久e热在这里只有国产中文精品99| 97r久久精品国产99国产精| 婷婷久久久亚洲欧洲日产国码AV | 久久国产欧美日韩精品| 日韩久久久久中文字幕人妻| 久久国产综合精品五月天| 99久久精品免费| 91超碰碰碰碰久久久久久综合| 九九久久99综合一区二区| 色综合久久综合网观看| 99精品伊人久久久大香线蕉| 久久久九九有精品国产|