【知識分享】遊戲伺服器和web伺服器的不同
遊戲伺服器與Web伺服器的不同?對於遊戲伺服器的一些介紹也許會說遊戲伺服器是一個需要長時間執行的程式,接下來該怎麼辦。對於Web伺服器,我個人認為需要長時間執行,而且還需要對非定點、不定時的請求作出響應。二者在宏觀層面實際上並無本質的不同。與此同時Web伺服器還會對穩定性和效能有要求,遊戲服一般分為大小服,壹基比小鑫這裡按小服舉例來說。
1、狀態
第一個要提到的是狀態。也許你聽過這樣一種觀點,遊戲伺服器是有狀態的,而Web伺服器是無狀態的。這意味著什麼?Web伺服器的資料流大部分直接到達資料庫。並且遊戲伺服器的資料流先被存入記憶體,然後定期寫入資料庫(落地)。
換言之,在執行時,遊戲伺服器自身的資料和資料庫中的資料將有一個不一致的視窗。這個時候,遊戲伺服器出現故障,將導致資料先到達的記憶體資料與資料庫存資料不一致。
但是Web伺服器並沒有這個問題,Web上所有的資料狀態都會出現,並且可以在操作中新增事務,不必擔心由於操作失敗而引入髒資料。由於存在狀態限制,遊戲伺服器將非常謹慎地使用記憶體、CPU。在資源有限的條件下,為了最大化承載量,並減少服務延遲。自然,Web伺服器需要進行相應的最佳化,以減少特定介面的響應時間。
2、擴建。
對於Web伺服器,如果您不能評估服務者所面臨的壓力,也不希望由於即時熱點訪問而直接導致服務不可用,則可以將其設定為自動擴充套件,因為每個服務僅僅是簡單地接收請求,然後處理請求、返回結果,而不會將資料儲存在伺服器的記憶體中。為了將資料儲存到記憶體,Redis中同樣如此。而且Redis資料丟失對資料的一致性基本上沒有影響。
但要實現遊戲伺服器的靈活性,就難以達到網路的靈活性。第一,資料流不是資料庫,而是記憶體。
舉例來說,玩家的主要城市都被攻打著火燒,如果有自動擴容,很有可能在落地視窗中,玩家再次請求,請求到另一個。主要城市又沒起火。由於資料將首先存在於記憶體中。
又比如,玩家氪空間購買了一個禮包。接著退出遊戲,在落地視窗中再次上線沒有。這個資料並不簡單,玩家這是花真金白銀買來的道具,突然間沒了,一、兩個還好處理,如果多個玩家都有這樣的問題,那就屬於嚴重的線上事故了。修理資料的工作非常繁重。
因此,對一個遊戲伺服器來說,記憶體和CPU的可用資源都非常有限,不像Web伺服器那樣可以實現橫向擴充套件,而不必花費大量成本。正因為如此,遊戲伺服器才會非常專注於程式碼的效能和穩定性。
3、穩定。
正如上面所說的,如果遊戲伺服器在執行中出現BUG,導致服務直接無法使用,或者在BUG上刷到大量道具,將會是一次很嚴重的線上事故。
對Web伺服器而言,如果是管理系統這樣的話,很可能會有髒資料值得注意,髒資料對於Web來說,查詢起來也是一件很頭痛的事。在沒有髒資料的情況下,服務只是暫時不可用,並且如果使用了微服務體系結構,重新啟動服務的成本相對較低,只有被重新啟動服務的業務無法獲得,而其他部分則可以正常訪問。
對遊戲伺服器而言,伺服器重新啟動會影響全服玩家。停服期間,玩家甚至不能進入遊戲,尤其影響玩家體驗。此外,如果在停用之前伺服器的資料落地發生問題,那麼在服務重新啟動後將資料從資料庫載入到記憶體,此時同樣會導致資料不一致的問題。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70013663/viewspace-2925005/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【知識分享】遊戲伺服器和普通伺服器的區別遊戲伺服器
- 【知識分享】應用伺服器和web伺服器的區別伺服器Web
- 【知識分享】主流的web伺服器有哪些Web伺服器
- 【知識分享】常見的幾個web伺服器分享Web伺服器
- 【知識分享】伺服器有和特性伺服器
- 【知識分享】web伺服器的安全措施有哪些Web伺服器
- 【知識分享】dns伺服器和企業伺服器的區別DNS伺服器
- 【知識分享】五個常見的web伺服器介紹Web伺服器
- 【知識分享】伺服器的維護方案和流程伺服器
- 代理伺服器 【知識分享】伺服器
- 【知識分享】 伺服器的架構伺服器架構
- 【知識分享】Linux作業系統的Web伺服器優點Linux作業系統Web伺服器
- 【知識分享】伺服器CPU和家用CPU的區別伺服器
- 【知識分享】伺服器硬碟和普通硬碟的區別伺服器硬碟
- 【知識分享】伺服器叢集和伺服器叢集技術伺服器
- 【知識分享】香港GPU伺服器定義和理解GPU伺服器
- 遊戲伺服器和普通web伺服器的區別是什麼?遊戲伺服器Web
- 【知識分享】web伺服器是什麼有什麼特點Web伺服器
- 【知識分享】如何去部署伺服器伺服器
- 【知識分享】 伺服器概念、組成伺服器
- 【知識分享】DNS伺服器的優缺點DNS伺服器
- 【知識分享】iis伺服器的功能有哪些伺服器
- 【知識分享】 linux伺服器的特性有哪些Linux伺服器
- 【知識分享】伺服器到手如何安全的管理伺服器
- 【知識分享】伺服器的分類有哪些伺服器
- 【知識分享】租用香港的伺服器是否安全伺服器
- 【知識分享】雲伺服器和獨立伺服器的四大差異伺服器
- 【知識分享】 伺服器基礎知識【初學者必看】伺服器
- 大型網路遊戲和大型網站需要伺服器的不同遊戲網站伺服器
- 【知識分享】伺服器做raid幾好伺服器AI
- 【知識分享】伺服器如何清理快取伺服器快取
- 【知識分享】linux伺服器穩定性如何Linux伺服器
- 遊戲伺服器和web伺服器有哪些地方不一樣遊戲伺服器Web
- 【知識分享】代理伺服器的基本功能伺服器
- 【知識分享】伺服器是幹什麼用的伺服器
- 【知識分享】域名伺服器的型別都有哪些伺服器型別
- 【知識分享】伺服器的防護幾種模式伺服器模式
- 【知識分享】伺服器的硬體配置都有哪些伺服器