欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>C/C++語言編程>

關(guān)于游戲服務(wù)器的架構(gòu)演進(jìn)歷程

大小:0.2 MB 人氣: 2017-09-25 需要積分:1

  游戲服務(wù)器的架構(gòu)演進(jìn)

  本文閱讀預(yù)計需要10分鐘,主要技術(shù)點(diǎn)來如下,感興趣請繼續(xù):

  游戲服務(wù)器特征

  短連接游戲服務(wù)器架構(gòu)

  長鏈接游戲服務(wù)器架構(gòu)

  分區(qū)分服服務(wù)器架構(gòu)

  MMOARPG服務(wù)器架構(gòu)

  房間服務(wù)器架構(gòu)

  1游戲服務(wù)器特征

  游戲服務(wù)器端,是一個會長期運(yùn)行的程序,并且它還要服務(wù)于多個不定時,不定點(diǎn)的網(wǎng)絡(luò)請求。所以這類軟件的特點(diǎn)是要非常關(guān)注穩(wěn)定性和性能。這類程序如果需要多個協(xié)作來提高承載能力,則還要關(guān)注部署和擴(kuò)容的便利性;同時,還需要考慮如何實(shí)現(xiàn)某種程度容災(zāi)需求。由于多進(jìn)程協(xié)同工作,也帶來了開發(fā)的復(fù)雜度,這也是需要關(guān)注的問題。

  功能約束,是架構(gòu)設(shè)計決定性因素?;谟螒蝾I(lǐng)域的功能特征,對服務(wù)器端系統(tǒng)來說,有以下幾個特殊的需求:

  對于游戲數(shù)據(jù)和玩家數(shù)據(jù)的存儲

  對玩家數(shù)據(jù)進(jìn)行數(shù)據(jù)廣播和同步

  把一部分游戲邏輯在服務(wù)器上運(yùn)算,做好驗(yàn)證,防止外掛。

  針對以上的需求特征,在服務(wù)器端,我們往往會關(guān)注對電腦內(nèi)存和CPU的使用,以求在特定業(yè)務(wù)代碼下,能盡量滿足承載量和響應(yīng)延遲的需求。最基本的做法就是“空間換時間”,用各種緩存的方式來以求得CPU和內(nèi)存空間上的平衡。

  在CPU和內(nèi)存之上,是另外一個約束因素:網(wǎng)卡。網(wǎng)絡(luò)帶寬直接限制了服務(wù)器的處理能力,所以游戲服務(wù)器架構(gòu)也必定要考慮這個因素。

  2游戲服務(wù)器架構(gòu)要素

  對于游戲服務(wù)端架構(gòu),最重要的三個部分就是,如何使用CPU、內(nèi)存、網(wǎng)卡的設(shè)計:

  內(nèi)存架構(gòu):主要決定服務(wù)器如何使用內(nèi)存,以最大化利用服務(wù)器端內(nèi)存來提高承載量,降低服務(wù)延遲。

  邏輯架構(gòu):設(shè)計如何使用進(jìn)程、線程、協(xié)程這些對于CPU調(diào)度的方案。選擇同步、異步等不同的編程模型,以提高服務(wù)器的穩(wěn)定性和承載量??梢苑謪^(qū)分服,也可以采用世界服的方式,將相同功能模塊劃分到不同的服務(wù)器來處理。

  通信模式:決定使用何種方式通訊?;谟螒蝾愋筒煌捎貌煌耐ㄐ拍J?,比如http,tcp,udp等。

  3服務(wù)器演化進(jìn)程

  卡牌等休閑游戲弱交互游戲

  服務(wù)器基于游戲類型不同,所采用的架構(gòu)也有所不同,我們先講一下簡單的模型,采用http通信模式架構(gòu)的服務(wù)器:

  關(guān)于游戲服務(wù)器的架構(gòu)演進(jìn)歷程

  這種服務(wù)器架構(gòu)和我們常用的web服務(wù)器架構(gòu)差不多,也是采用nginx負(fù)載集群支持服務(wù)器的水平擴(kuò)展,memcache做緩存。

  唯一不同的地點(diǎn)不同的在于通信層需要對協(xié)議再加工和加密,一般每個公司都有自己的一套基于http的協(xié)議層框架,很少采用開源框架。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?