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

牽著老婆滿街逛

嚴以律己,寬以待人. 三思而后行.
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 楊粼波 閱讀(751) 評論(1)  編輯 收藏 引用

評論

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

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

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

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            99精品福利视频| 激情小说另类小说亚洲欧美| 亚洲精品在线视频观看| 亚洲二区三区四区| 欧美国产精品va在线观看| 亚洲另类一区二区| 一本色道精品久久一区二区三区| 国产精品电影网站| 久久精品盗摄| 男同欧美伦乱| 亚洲欧美综合国产精品一区| 性欧美18~19sex高清播放| 亚洲二区视频| 中文av一区特黄| 黄色亚洲大片免费在线观看| 亚洲国产精品成人| 国产精品视频免费观看| 久久天天躁狠狠躁夜夜av| 欧美国产亚洲精品久久久8v| 亚洲欧美日韩综合| 久久综合色播五月| 亚洲欧美日韩视频一区| 久久久久亚洲综合| 亚洲欧美成人| 另类综合日韩欧美亚洲| 午夜视频久久久| 欧美激情一区二区三区| 久久精品视频免费观看| 欧美日韩精品免费在线观看视频| 久久久久久亚洲精品杨幂换脸 | 亚洲欧美日韩综合国产aⅴ| 亚洲国产精品一区二区第一页| 亚洲美女在线视频| 亚洲国产精品999| 亚洲欧美在线看| 中日韩高清电影网| 久久久久久亚洲精品不卡4k岛国| 中文成人激情娱乐网| 欧美jizzhd精品欧美巨大免费| 亚洲在线视频观看| 欧美精品激情在线观看| 久久亚洲综合色| 国产视频久久| 亚洲一区999| 亚洲色图自拍| 欧美日韩国产黄| 欧美激情在线狂野欧美精品| 国产一区二区丝袜高跟鞋图片| 亚洲免费av网站| 亚洲日本激情| 欧美成人自拍| 亚洲国产精品一区在线观看不卡| 国产一区深夜福利| 欧美在线视频观看| 久久精品在这里| 国产日韩精品视频一区| 亚洲欧美日韩国产综合在线| 亚洲一区二区三区欧美| 欧美日韩亚洲激情| 亚洲美女网站| 亚洲一区www| 国产精品国产三级国产普通话99| 亚洲免费久久| 亚洲小视频在线观看| 欧美三级午夜理伦三级中文幕| 亚洲美女av在线播放| 一区二区三区欧美在线观看| 欧美精品v日韩精品v韩国精品v | 亚洲综合视频网| 欧美中日韩免费视频| 国产午夜精品久久久| 欧美一区二区三区日韩| 久久亚洲精品一区二区| 伊人久久成人| 欧美成人一区二区在线| 亚洲精品一区二区三区樱花 | 一本色道久久88精品综合| 欧美日韩国产经典色站一区二区三区| 亚洲精品乱码久久久久久日本蜜臀| 亚洲精品欧美专区| 欧美午夜电影在线观看| 亚洲欧美日韩在线一区| 欧美~级网站不卡| 日韩天堂在线视频| 国产精品一级在线| 久久久久国色av免费观看性色| 欧美福利精品| 午夜国产不卡在线观看视频| 韩国精品在线观看| 欧美精品99| 性色av一区二区怡红| 欧美aaaaaaaa牛牛影院| 亚洲视频狠狠| 激情久久五月| 国产精品h在线观看| 久久久久久久综合色一本| 亚洲国产婷婷| 久久激情综合| 艳女tv在线观看国产一区| 国产精品日韩专区| 农夫在线精品视频免费观看| 久久久久久久波多野高潮日日| 日韩一级成人av| 久久久久久九九九九| av成人免费在线观看| 国产午夜精品全部视频在线播放| 欧美成人国产一区二区| 亚洲欧洲av一区二区| 亚洲国产美女| 久久一区二区三区超碰国产精品| 亚洲少妇中出一区| 亚洲国产高清视频| 国产一区免费视频| 国产精品国产一区二区| 蜜臀久久久99精品久久久久久| 亚洲一级特黄| 日韩午夜在线电影| 亚洲国产成人久久| 久久综合狠狠| 久久久久一本一区二区青青蜜月| 亚洲图片在线观看| 日韩视频免费大全中文字幕| 亚洲电影激情视频网站| 国产欧美一区二区视频| 国产精品久久久一区二区| 欧美极品aⅴ影院| 免费观看一级特黄欧美大片| 久久精品五月婷婷| 欧美一区影院| 亚洲综合丁香| 亚洲男人的天堂在线aⅴ视频| 99伊人成综合| 一区二区成人精品 | 久久久久女教师免费一区| 亚洲欧美日韩一区在线观看| 亚洲视频图片小说| 亚洲无线观看| 亚洲一区二区三区精品在线| 一区二区三区www| 亚洲午夜精品久久| 亚洲天堂久久| 午夜精品久久| 欧美一区二区三区精品| 欧美亚洲免费高清在线观看| 亚洲欧美日韩国产综合在线| 亚洲在线观看免费| 午夜伦理片一区| 久久国产黑丝| 奶水喷射视频一区| 亚洲国产精品久久久久秋霞不卡 | 小嫩嫩精品导航| 久久精品成人| 免费在线国产精品| 欧美精品久久天天躁| 欧美图区在线视频| 国产区欧美区日韩区| 精品av久久707| 亚洲精品久久久久| 亚洲女人av| 久久在线免费观看| 亚洲高清精品中出| 日韩一级片网址| 亚洲欧美国产高清va在线播| 久久久91精品国产一区二区三区 | 亚洲综合社区| 久久久久久亚洲精品不卡4k岛国| 美国成人直播| 亚洲精品综合精品自拍| 亚洲一区二区三区中文字幕| 欧美在线视频观看| 欧美日韩国产不卡在线看| 日韩视频在线观看免费| 久久久久久久一区二区| 欧美激情四色| 亚洲欧美制服中文字幕| 久久久久国产免费免费| 欧美日韩小视频| 尹人成人综合网| 亚洲特黄一级片| 免费日韩视频| 亚洲天堂av电影| 欧美激情一区二区三区不卡| 国产精品一级二级三级| 亚洲剧情一区二区| 久久精品国产视频| 亚洲伦理在线观看| 久久国产欧美精品| 国产精品美女久久久久久久| 亚洲国产色一区| 久久久久久一区| 亚洲午夜一级| 欧美日韩国产三级| 亚洲国产成人在线视频| 久久aⅴ国产紧身牛仔裤| 亚洲日本成人女熟在线观看| 久久国产直播| 国产精品在线看| 亚洲综合成人婷婷小说| 亚洲国产一区二区a毛片| 久久大逼视频|