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

            牽著老婆滿街逛

            嚴(yán)以律己,寬以待人. 三思而后行.
            GMail/GTalk: yanglinbo#google.com;
            MSN/Email: tx7do#yahoo.com.cn;
            QQ: 3 0 3 3 9 6 9 2 0 .

            分布式游戲服務(wù)器端框架 Firefly

            轉(zhuǎn)載自:http://www.oschina.net/p/firefly-game-server

            Firefly是免費(fèi)、開(kāi)源、穩(wěn)定、快速擴(kuò)展、能 “熱更新”的分布式游戲服務(wù)器端框架,采用Python編寫(xiě),基于Twisted框架開(kāi)發(fā)。它包括了開(kāi)發(fā)框架和數(shù)據(jù)庫(kù)緩存服務(wù)等各種游戲服務(wù)器基礎(chǔ)服務(wù),節(jié)省大量游戲開(kāi)發(fā)的工作時(shí)間,真正做到讓使用者把精力放在游戲玩法邏輯上。用它可以搭建自定義的分布式架構(gòu),只需要修改相應(yīng)的配置文件即可。

            優(yōu)勢(shì)特性

            • 采用單線程多進(jìn)程架構(gòu),支持自定義的分布式架構(gòu);

            • 方便的服務(wù)器擴(kuò)展機(jī)制,可快速擴(kuò)展服務(wù)器類(lèi)型和數(shù)量;

            • 與客戶端采用TCP長(zhǎng)連接,無(wú)需考慮粘包等問(wèn)題;

            • 封裝數(shù)據(jù)緩存服務(wù);

            • 可實(shí)現(xiàn)實(shí)時(shí)熱更新數(shù)據(jù)以及游戲邏輯,客戶端玩家無(wú)感覺(jué);

            • 有幾十個(gè)基礎(chǔ)游戲玩法系統(tǒng)模塊提供組裝使用(v1.3.0提供);

            框架介紹

            123.jpg

            management, firefly 是個(gè)多進(jìn)程、分布式的游戲服務(wù)器。因此各游戲server(進(jìn)程)的管理和擴(kuò)展是firefly很重要的部分,框架通過(guò)抽象使服務(wù)器的擴(kuò)展非常容易。

            Network,客戶端連接通信、server進(jìn)程間的通信等構(gòu)成了整個(gè)游戲框架的脈絡(luò),所有游戲流程都構(gòu)建在這個(gè)脈絡(luò)上。與客戶端的通信采用的是請(qǐng)求/回應(yīng)式的,所以受到的客戶端的請(qǐng)求,服務(wù)端都會(huì)給出相應(yīng)的回應(yīng),服務(wù)端也能主動(dòng)的推送,廣播給客戶端消息。這些請(qǐng)求是基于指令號(hào)的請(qǐng)求。(例如定義101為登陸指令)server進(jìn)程之間的通信時(shí)采用的異步回調(diào)的方式,這樣就減少了的進(jìn)程間通過(guò)網(wǎng)絡(luò)通信中的時(shí)間消耗。

            Data, 數(shù)據(jù)處理是網(wǎng)游的重要部分。在網(wǎng)游有大量的數(shù)據(jù)需要存儲(chǔ),需要更新,這使得數(shù)據(jù)庫(kù)的讀寫(xiě)效率成為服務(wù)器的最大的性能瓶頸。firefly的db處理能夠?qū)?shù)據(jù)庫(kù)表中的數(shù)據(jù)緩存到memcache中并能以對(duì)象的形式進(jìn)行調(diào)用相應(yīng)的對(duì)象方法對(duì)數(shù)據(jù)進(jìn)行操作。可以在不同的進(jìn)程中通過(guò)實(shí)例化相同的名稱(chēng)的緩存實(shí)例,得到同步的數(shù)據(jù)。并能將緩存對(duì)象中的數(shù)據(jù)寫(xiě)回?cái)?shù)據(jù)庫(kù)中。
            框架思路

            一個(gè)最基本的服務(wù)器就是一個(gè)在不停運(yùn)行著的應(yīng)用程序。在分布式游戲服務(wù)器中,我們需要的服務(wù)器具有的功能有,監(jiān)聽(tīng)客戶端的連接,監(jiān)聽(tīng)其他服務(wù)進(jìn)程的消息,連接其他的服務(wù)進(jìn)程,有些需要有數(shù)據(jù)庫(kù)連接和緩存服務(wù)。如下圖

            234.jpg

            net connect 做客戶端連接,root監(jiān)聽(tīng)其他服務(wù)進(jìn)程消息,node連接其他服務(wù)進(jìn)程,db數(shù)據(jù)庫(kù),cache緩存。是否需要監(jiān)聽(tīng)客戶端連接,是否監(jiān)聽(tīng)其他服務(wù)進(jìn)程消息等這是都是可以在config.json中進(jìn)行配置。包括各個(gè)服務(wù)器的名稱(chēng)以及各個(gè)服務(wù)器之間的連接關(guān)系。這樣就可以自定義出自己的分布式架構(gòu)。

            Firefly團(tuán)隊(duì):我們或有不足,但我們不停努力!


            posted on 2014-06-01 12:56 楊粼波 閱讀(723) 評(píng)論(0)  編輯 收藏 引用


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


            久久久久亚洲av无码专区喷水| 久久精品成人免费观看97| 日韩人妻无码一区二区三区久久99 | 久久人人爽人爽人人爽av| 久久精品极品盛宴观看| 国产精品久久久久无码av| 久久国产影院| WWW婷婷AV久久久影片| 亚洲精品99久久久久中文字幕| 久久精品无码一区二区无码| 久久强奷乱码老熟女网站| 91精品国产综合久久婷婷| 香蕉久久夜色精品国产尤物| 一本久久久久久久| 无码国内精品久久人妻| 久久久久99这里有精品10| 国产巨作麻豆欧美亚洲综合久久| 无码国内精品久久人妻| 热RE99久久精品国产66热| 亚洲精品高清国产一久久| 久久久亚洲欧洲日产国码aⅴ| 青青草国产97免久久费观看| 999久久久无码国产精品| 久久AV高潮AV无码AV| 亚洲人AV永久一区二区三区久久| 99久久人人爽亚洲精品美女| 国内精品伊人久久久久av一坑| 亚洲综合精品香蕉久久网| 精品久久久久成人码免费动漫| 久久九色综合九色99伊人| 久久99久久无码毛片一区二区| 久久噜噜电影你懂的| 精品一区二区久久久久久久网站| 久久亚洲精品成人AV| 久久亚洲精品国产精品| 久久综合国产乱子伦精品免费| 亚洲国产美女精品久久久久∴| 亚洲精品乱码久久久久久蜜桃图片 | 久久久亚洲AV波多野结衣| 亚洲国产成人久久精品99| 一本综合久久国产二区|