青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

牽著老婆滿街逛

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

[轉貼]關于游戲服務器的架構

今天開始寫些技術的題材,一方面記錄一些自己的本分工作的東西,另外一方面也是充實一下BLOG,工作太忙也沒有什么太多的思緒來一直寫其他的題材,所以就拿工作來填充了.同時如果有人有幸看到了這些文章,并且也有興趣的話也希望多多探討.

先簡單介紹一下,由于本人的工作就是游戲開發公司的,一直與游戲開發打交道,主要做休閑類的游戲,目前又以棋牌游戲為主,在這個行業中摸爬滾打了整3年了,從運營開始做起,運營過當時國內一流的游戲平臺中游系列的產品,然后由于合作方面的原因又自主開發過一套游戲平臺,然后由于發展方向上的分歧出來單獨做,目前在開發并運維一套全新的產品.

這篇主要是對于游戲服務器的一些想法,結合目前自身的產品的一些問題延伸開來的.

目前我們的服務器還是屬于Windows平臺的架構,暫時還沒有考慮到跨平臺,主要原因有2:
1.成本:作為公司來說首先得考慮的就是成本了,雖然說Linux類的平臺存在著操作系統成本低廉,性能優異,穩定性高這幾個特色,但是作為全局考慮來說,一個Linux的系統管理員,以及開發人員的成本要比Windows平臺要高很多,并且作為操作系統方面是免費的,但是支持幾乎是沒有的只有一些不適合商業應用的開源社區作為支撐,要得到更加好的服務或者額外的支持還是得通過大廠商的高額的產品或服務來實現,而Windows平臺則不同,雖然操作系統貌似價格不扉,但是本身就帶了很多的模塊,比如組件服務,日志服務等等,加上平臺上各種軟件的數量也和Linux下的不是同一量級的,可選擇性要大的多,而讓Linuxer所詬病的Win32的安全性其實完全可以通過另外獨立的安全模塊,如硬件防火墻等來完善,畢竟操作系統不是專門做安全防護的Linux也存在很多的漏洞,并且隨著Linux發行版的日益增多,用戶的逐漸了解,漏洞也日益的增多.
2.開發效率.無疑Visual Studio系列開發套件是目前開發領域最方便最強大的IDE環境,這已是不爭的事實,而如果用VI + GCC的模式去開發LINUX下面的服務器其效率和質量至少從我目前的水平(可以部分代表國內目前中小游戲軟件開發商實際現狀)要徹底的領悟并轉換需要一定的時間,并且還沒有成熟的開發平臺作為保證, JAVA好象有 但是C++還沒有聽說有超過VC++的.
?


作為游戲服務器的結構方面(以下只討論休閑游戲部分,MMORPG服務器不屬于討論范圍)的設計已經相對于成熟并且統一,結構方面和3年前我所接觸的中游系的那套平臺沒有太大的差異,無非是服務器群采用星狀的結構,以1個中心節點作為核心,然后向四周擴散出一些應用服務器,如負責登陸的LoginServer,負責具體游戲邏輯的GameServer等等,當然最精簡的結構是這樣的,這樣的結構可以滿足50萬以下同時在線的容量,如果為了滿足更大的容量,如QQGAME這樣的目前已經有200萬以上同時在線的超大容量的應用則需要額外的優化,從這個結構中分離出一些子應用獨立開發出一些服務器端來處理,一方面降低偶合度,另外一方面作為高可用性系統為負載均衡提供條件.

關于負載均衡,作為整個游戲平臺的所有服務器.我覺得除了具體的游戲邏輯服務器以外都是可以采用負載均衡,多點分擔的方式來處理,惟獨邏輯服務器不可以,因為休閑游戲,都是分層次的,不管泡泡堂也好,QQGAME也好這些游戲其實在客戶端的表現形式都是分層次的,如QQGAME就是LOBBY-HALL-ROOM這樣的結構,LOBBY這層就是游戲廣場了,可以看到所有的游戲類別,游戲服務器和具體的游戲大廳,比如:牌類–斗地主–新手場–新手場1 這樣的順序,傳統的設計中新手場1就是屬于一個獨立的游戲邏輯服務器擁有一個獨立的IP以及偵聽端口,在服務器端通常也是一個獨立的進程.一般的游戲服務器允許的連接數通常都是300-600人之間超過的就提示服務器已滿了,這樣做的原因并不是因為進程的限制因為一個進程完全可以做到同時讓3000以上的玩家同時游戲,而是人為設計的考慮,因為在游戲邏輯服務器中有很多需要廣播的消息,如游戲玩家的聊天信息,某個房間的開始信息,結束信息,某人進出的信息等,而對于廣播來說,給300個人廣播和給3000個人廣播所消耗的資源是絕對沒有可比性的。但是通過從進程上獨立來處理這個傳統的方式也有個缺陷,比如通過開10個進程來達到3000人和1個進程達到3000人,如果不考慮廣播的因素在內的話前者的資源是要高與后者的資源的,并且進程間的通訊也要比進程內的通訊要耗費資源和復雜度方面要高很多,比如說如果要實現一個需求讓玩家可以在同一類游戲中可以使用小喇叭類或者跨游戲服務器找人之類的功能的話,同一個進程的優勢就顯示出來了,為此QQGAME所使用的是Channel(頻道)的概念,即一個游戲邏輯服務器的進程可以容納5000人左右,然后服務器端通過設置分割出很多的Channel如新手1,新手2,新手3之類的傳統意義上的游戲大廳,將消息的分發范圍進行隔離,節約了資源。這一點可以通過查看連接屬性看到,連接QQGAME的同類型靠近的幾個游戲大廳其實端口和IP都是一致的。

我們目前的游戲服務器類型主要有3類:CenterServer,管理著所有的服務器連接,LoginServer 負責處理用戶的登陸、注冊,并且用來給用戶傳遞游戲邏輯服務器列表等功能, GameServer具體邏輯服務器,根據不同的邏輯來實現不同的游戲需求。

當然,根據業務的發展需要,我們正準備把用戶的狀態在服務器端保存,并且增加一個類似IM服務器的功能來滿足玩家跨服務器聊天和查詢其他玩家狀態的需要。以及GM服務器實現多功能的網管室的需求,這些將在以后慢慢寫。



說起高性能的網絡游戲,有2個典范,1個是暴雪的WOW,另外一個要數騰訊的QQGame了,因為對于MMPRPG的體系接觸不深,幾乎屬于文盲,沒有太多的發言權,而自己又是搞休閑游戲開發的所以本文就主要談談QQGame了。

前些天通過朋友得到了QQGame的一個系統分析的文檔,看完后很是震驚,徹底被QQ的設計所折服了,到底是千萬人在線系統經驗的擁有者,牛!

通過資料了解到QQGame目前有以下讓我欣賞的特性:

  1. 單機最高容納35,000人同時在線,對沒有看錯是這么多,由于它適用了Linux下高性能的網絡處理模型ePoll技術,并且一系列高超的優化技術輕松破萬人,當然為了穩定性考慮單機保持了2萬人的容量,此時的帶寬消耗為近30M;
  2. 采用共享內存方式高速完成進程間高速通訊;
  3. 服務器的擴充方式不是平面的方式,而是裂變式的擴充方式,形成負載均衡陣列樹狀結構;
  4. 所有的游戲服務器不是直接和數據庫聯系,而是和數據proxy(qq管叫數據交換機和路由器)進行聯系,由此帶來的就是游戲用戶數據的分布存儲,我分析著應該是proxy上記錄著這個用戶數據所在的實際的dbserver的信息,然后定時的將最新的用戶信息寫回到db中去,這樣就大大緩解了數據庫服務器的壓力,而且可以非常平滑的將數據分裂開來,數據庫服務器也就可以無限的擴充,當然我覺得肯定有個數據庫信息索引了用戶的id和對應的存儲地點的關聯關系,這點就類似于google的原理了,所以對于數據庫的硬件要求也就不是那么高了,qqgame的一組服務器通常是7臺服務器,可以容納5萬人,其中就包含了數據庫服務器,這點就不是棋牌游戲所常使用的數據集中存儲了;
  5. 游戲服務器的網絡和邏輯分開,不僅僅是層次上的分開,而是在進程上分開,然后中間通過共享通道進行管理和協調,并且增加了輔助線程,在主線程處理大壓力的異步的操作的時候直接交給輔助線程處理,保障了游戲服務器的高效性運轉。

未完待續



轉自http://liubaishui.com/category/gamedev/

posted on 2006-04-15 21:12 楊粼波 閱讀(755) 評論(1)  編輯 收藏 引用

評論

# re: [轉貼]關于游戲服務器的架構 2008-10-07 22:41 phpman

兄弟! 你自己最后的貼的說QQ用的是Linux的epoll如何如何,怎么還打開頭就說將Linux系統排除在外呢?

我也算是游戲行業的了,據我所知,除非是不想搞大,否則現在還有誰拿Windows做游戲服務器?
  回復  更多評論   


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            国产亚洲精品资源在线26u| 国产综合欧美在线看| 亚洲欧美www| 国产亚洲精品aa| 国产主播一区二区三区| 欧美日韩国产三区| 国产精品视区| 国产精品一区三区| 男女av一区三区二区色多| 欧美成人首页| 亚洲精品欧美日韩专区| 日韩亚洲在线| 亚洲国产精品激情在线观看| 欧美成人xxx| 99国产精品久久久久久久久久| 国产精品大片免费观看| 欧美日本高清视频| 欧美日本一道本在线视频| 国产精品久久久久久亚洲毛片| 免费在线观看一区二区| 99国产精品久久久| 亚洲高清网站| 亚洲第一网站免费视频| 一区二区精品国产| 午夜精品国产更新| 久久精品欧美| 国产欧美日韩麻豆91| 久久久国产精品亚洲一区| 9色porny自拍视频一区二区| 午夜免费电影一区在线观看| 在线成人小视频| 久久在线视频在线| 亚洲另类一区二区| 亚洲五月六月| 久久久久久9999| 亚洲制服av| 亚洲女人av| 欧美成人激情在线| 欧美精品一区二区三区很污很色的 | 国产精品视频一二三| 翔田千里一区二区| 欧美劲爆第一页| 精品成人一区二区三区| 亚洲激情成人在线| 美女在线一区二区| 女主播福利一区| 亚洲综合首页| 午夜精品久久久久久久99热浪潮 | 欧美日韩欧美一区二区| 亚洲国产欧美在线人成| 亚洲高清久久| 老巨人导航500精品| 亚洲综合精品四区| 久久久一区二区| 亚洲国产专区| 亚洲成人在线网| 羞羞色国产精品| 老司机一区二区| 日韩一级二级三级| 一区二区三区www| 亚洲一区二区三区久久| 一区二区日本视频| 亚洲一区二区三区久久| 国产真实乱子伦精品视频| 久久精品在线观看| 久久久www成人免费毛片麻豆| 欧美午夜精品久久久| 久久久久国产一区二区三区四区 | 香港成人在线视频| 亚洲国产一区二区三区在线播 | 蜜臀va亚洲va欧美va天堂 | 久久久综合激的五月天| 国产亚洲欧美日韩在线一区 | 亚洲精品视频在线| 亚洲国产精品123| 亚洲黄网站黄| 免费在线亚洲欧美| 国产精品v欧美精品v日韩精品| 性感少妇一区| 销魂美女一区二区三区视频在线| 国产字幕视频一区二区| 夜夜嗨一区二区| 亚洲国产成人午夜在线一区| 9色精品在线| 欧美午夜免费| 欧美一区免费| 欧美中文字幕久久| 在线不卡欧美| 亚洲国产毛片完整版| 欧美欧美午夜aⅴ在线观看| 中文成人激情娱乐网| 一区二区三区精品在线| 国产日韩在线视频| 欧美高清视频免费观看| 欧美精品在线一区二区三区| 亚洲资源在线观看| 久久久久久伊人| 99精品99| 欧美一区激情视频在线观看| 亚洲国产精品成人一区二区| 一区二区三区免费在线观看| 欧美日韩在线观看一区二区三区| 久久精品国产亚洲高清剧情介绍| 免费成人av| 欧美一级艳片视频免费观看| 美玉足脚交一区二区三区图片| 亚洲韩国青草视频| 日韩视频中文字幕| 1024日韩| 国产精品一区二区久久久| 久久黄色网页| 欧美大片免费看| 亚洲国产成人精品女人久久久| 欧美激情亚洲一区| 米奇777超碰欧美日韩亚洲| 亚洲一二三区精品| 欧美国产欧美亚州国产日韩mv天天看完整| 欧美日韩亚洲一区三区| 欧美一级播放| 狠久久av成人天堂| 久久精品人人做人人综合| 亚洲日本成人网| 另类尿喷潮videofree| 欧美性猛片xxxx免费看久爱| 欧美日韩一区视频| 午夜免费电影一区在线观看| 一区二区三区www| 亚洲欧美日韩区| 欧美在线3区| 久久久久国产精品午夜一区| 久久久久久电影| 久久综合激情| 欧美性开放视频| 国产情侣一区| 宅男噜噜噜66一区二区| 亚洲精品日韩在线| 午夜久久黄色| 亚洲缚视频在线观看| 久久久久成人精品| 欧美寡妇偷汉性猛交| 日韩视频在线观看| 久久综合图片| 国产精品久久久久久久9999 | 欧美日韩免费一区二区三区| 国产主播一区| 午夜精品久久久久久99热| 欧美激情第1页| 91久久久久久国产精品| 亚洲一本大道在线| 久久综合精品一区| 亚洲免费一在线| 国产精品三上| 一区二区三区日韩在线观看| 久久aⅴ乱码一区二区三区| 日韩视频免费| 麻豆亚洲精品| 亚洲美女啪啪| 欧美a级大片| 免费日韩精品中文字幕视频在线| 亚洲无限av看| 国产偷久久久精品专区| 午夜日韩电影| 先锋影音网一区二区| 亚洲高清av| 欧美激情亚洲另类| 亚洲性感激情| 亚洲一区在线免费观看| 欧美偷拍一区二区| 欧美在线免费观看视频| 黄色国产精品| 欧美gay视频激情| 亚洲欧美三级在线| 国产视频自拍一区| 国产精品国产馆在线真实露脸 | 久久成人这里只有精品| 在线视频欧美精品| 亚洲第一狼人社区| 久久久综合免费视频| 久久久久成人精品| 国内精品亚洲| 亚洲一区二区三区欧美| 亚洲国产99精品国自产| 欧美一区二区精美| 久久久久久有精品国产| 欧美在线资源| 欧美成人免费网| 亚洲国产裸拍裸体视频在线观看乱了中文 | 欧美性色aⅴ视频一区日韩精品| 欧美一区二区三区成人| 欧美日韩中文字幕在线视频| 欧美高清一区二区| 亚洲精品午夜精品| 午夜亚洲一区| 国产精品美女久久久久av超清| 国产精品99久久久久久有的能看| 亚洲国产精品视频一区| 欧美a级片网| 一区二区久久久久久| 在线一区欧美| 亚洲第一天堂无码专区|