web策略类游戏开发(四)一个可以承载万人在线的架构
web策略類游戲開發(四)一個可以承載萬人在線的架構
?
?Webgame現在已經開始需要進入大統一服務器時代,每個游戲區域容納的玩家數量將從現在的幾萬人發展到幾十萬人,因此在新的背景下,webgame如何處理大量用戶的請求將成為問題。目前一臺asp.net做的weggame服務器每秒能處理500~1000個頁面請求,按照每個玩家每隔3~5秒做一次頁面操作(頁面請求),一臺服務器能承受2k~4k的玩家在線,對于一個只有幾萬人的策略游戲來說,已經是足夠了。但對于一個未來將承載幾十萬人的游戲來說遠遠不夠。
?通過分析,玩家在游戲過程中,有80%以上的訪問僅僅只是查看玩家在游戲里的狀態,實際上真正會對游戲運行狀態及數據修改的的頁面請求不足20%。因此,我們可以將呈現頁面和處理游戲邏輯的功能拆分為2組服務器:頁面服務器和邏輯服務器。兩者之間可以通過remoting的方式進行數據通訊。將服務器分離后,隨著頁面服務器的增加,頁面訪問能力能應該能提升4~6倍。在往上邏輯服務器就會出現訪問瓶頸。解決方法可以讓頁面服務器在讀取玩家數據時直接訪問數據庫或者增加一個對象緩存服務器。頁面服務器只有在必要的時候(需要進行邏輯運算時)才訪問邏輯服務器,而邏輯服務器在玩家數據發生改變后更新對象緩存服務器和數據庫。這樣就可以大大降低邏輯服務器的訪問次數,使頁面訪問能力進一步提升,輕松突破萬人在線。如果訪問量還需要繼續擴大,可以用httpd做前臺負責相應圖片以及css等靜態文件。
轉載于:https://www.cnblogs.com/yahle/archive/2008/05/04/1181646.html
總結
以上是生活随笔為你收集整理的web策略类游戏开发(四)一个可以承载万人在线的架构的全部內容,希望文章能夠幫你解決所遇到的問題。