伸縮性MMORPG服務器架構的設計與實現.pdf_第1頁
已閱讀1頁,還剩70頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、很多網絡游戲都是典型的分布式系統(tǒng),系統(tǒng)的可用性、伸縮性以及中間的任務并行度都是困難的課題。因為需要支持從幾千到幾百萬游戲玩家同時在線,同時還要處理各種復雜的游戲邏輯以提高玩家的用戶體驗,從而增加玩家的黏合度。這就要求系統(tǒng)的框架具有高可用、強伸縮性、可擴展性以及可開發(fā)性。由于游戲從推出時并無法預計游戲的玩家數量,所有的網絡游戲都會面臨伸縮性的問題。系統(tǒng)需要根據用戶數量的增長而增加處理能力,在游戲后期玩家興趣衰退而降低處理能力。雖然一般游戲

2、都會在特定時間做維護,但是7*24依舊是對系統(tǒng)的要求,高可用性依舊是系統(tǒng)重要的質量屬性。當前芯片的架構趨勢從不斷增加的時鐘速度轉變?yōu)槎嗪耍滦酒脑O計目標是需要同時做多件事情,為了適應芯片的改變系統(tǒng)需要通過并發(fā)來實現總體性能的增長。分布式系統(tǒng)的一致性問題對于大多數開發(fā)者來說也是難題,這最好由架構來解決。
  本文的課題是設計一個分布式架構,編程模型是反應式的,也是一種新型的MMORPG的分布式系統(tǒng)架構,目標是對實際的開發(fā)者盡可能隱

3、藏分布式計算,分布式系統(tǒng)中的一致性問題,同時還保證系統(tǒng)的高可用性以及伸縮性,使得最終開發(fā)者可以集中精力完成業(yè)務邏輯而非底層的技術細節(jié),創(chuàng)新點如下:
  (1)優(yōu)化了網絡通信模塊,改變了傳統(tǒng)網絡庫中單IO線程的方式,實現了多核下的Reactor模型,即多IO線程配合線程池的模式。對于應用層緩存的進行了優(yōu)化,減少系統(tǒng)調用以及利用了臨時棧空間,這樣能夠提高系統(tǒng)的網絡吞吐量以及降低延遲。
  (2)為了提高系統(tǒng)的可用性引入了2個開源

4、組件ZooKeeper、Redis,ZooKeeper解決了分布式系統(tǒng)中的命名、分布式鎖、負載均衡、協調等一致性問題,Redis作為內存數據庫加載系統(tǒng)中的熱點數據,來緩解傳統(tǒng)磁盤數據庫的壓力,這樣的改進增加了系統(tǒng)的吞吐以及降低延遲,由于Redis是以集群的方式部署在系統(tǒng)中,也保證了系統(tǒng)的可用性以及性能。
  (3)架構中提到的任務服務,是典型的master/slave結構,任務可以在不同節(jié)點移動,從而實現負載均衡,由于slave可

5、以動態(tài)的添加,由master來監(jiān)視slave節(jié)點并且實現簡單的負載均衡策略,這樣就保證了系統(tǒng)的伸縮性。
  (4)數據服務為整個系統(tǒng)提供數據服務,屬于分布式數據架構,是邏輯集中的實體,在集群中多臺機器上進行數據分區(qū),通過對多臺機器上不同數據分區(qū)的控制,就可以實現負載均衡以及伸縮性。
  在第五章節(jié)本文對方案中的關鍵組件進行了性能測試以及針對架構進行了伸縮性的測試。伸縮性測試包括了增加業(yè)務功能以及增加相同任務節(jié)點后負載均衡的驗

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論