激战的后厨2观看完整版,強姦亂倫強姦在线观看,国产无套内射普通话对白,老头呻吟喘息硕大撞击,他扒开我小泬添我三男一女视频

廈門服務器租用>業界新聞> 游戲服務器和web服務器有哪些地方不一樣

游戲服務器和web服務器有哪些地方不一樣

發布時間:2020/6/18 15:39:08    來源: 縱橫數據




游戲服務器和web服務器有哪些地方不一樣:

對延遲要求苛刻,一個網站,延遲是500ms還是1s無關痛癢,用戶的操作不會很頻繁,往往點擊一下就能看上一會。
但對于游戲,尤其是FPS類型的游戲,150ms以上的延遲都會使游戲體驗大打折扣,客戶端發往服務器的請求一秒鐘內往往有十幾個之多,微服務那種調用鏈的開銷,絕大部分的游戲都承受不起。哪怕是一個棋牌游戲,你能忍受出牌要卡上1秒嗎?不說調用鏈,即便是把數據放在redis里,每次去取,也承受不起。
像MMO,MOBA,FPS這種實時性要求高的游戲,服務器的幀率在10hz到60hz,一秒鐘更新最少10次,每一次更新大約幾十(moba,fps)甚至幾千(mmo)個unit,留給每一個unit的處理時間最多幾毫秒甚至幾微秒,而同個數據中心內一個roundtrip time平均就要0.5ms游戲服務器的用戶之間,具有高度的交互性,狀態性極強。web服務器的用戶與用戶之間,你操作你的我操作我的,你我之間沒關系。
在數據庫之上這一層,用戶之間同步數據以及順序性的需求幾乎沒有。
如果有,那也是在數據庫,緩存這一層,比如事務操作一下,緩存同步一下即可。web服務器天然的無狀態性,弱狀態性適合橫向擴展,做分布式。同一個用戶的不同請求,往往可以由負載均衡路由到不同的服務器處理。而游戲很難做到這一點,往往都是通過分服,開房間等手段解決。
游戲服務器的數據庫數據,具有高度的反范式特點。從用戶登錄后,基本上用戶的所有數據都需要load進內存中。
不像web比如購物網站,登錄后,只需要用戶名和購物車中物品數量。點開購物車,加載購物車數據。點訂單,加載歷史訂單。每個服務都有自己的數據庫,服務自身保證數據的invariants,數據庫之間通過最終一致性達成一致即可。
游戲不一樣,不可能等到你被砍的時候再去數據庫里把你的裝備讀出來算一下防御力看看該扣多少血。元數據依賴。
游戲的用戶數據,可以說是高度依賴元數據,你的裝備屬性,外形,技能效果等等都是依賴策劃配置出的數據表(元數據)。而web服務器其實沒有所對應的這一層的的元數據。
一般說到web服務器元數據,基本都是描述服務之間的契約,比如RESTFUL API的JSON定義等。游戲服務器對元數據的依賴是全局性的。
假如有一個微服務化的游戲,想削弱某職業的技能而不重啟其他服務比如戰斗服務?絕無可能。因為上面幾點原因,數據都是保存在進程內的。沒有統一的框架。
游戲玩法多種多樣,即便是同一種類型的游戲,也可以是腦洞大開,很難抽象出一個行業內可復用的邏輯流程然后再通過框架去做事情,比如spring那一套。【艾娜小編】
在線客服
微信公眾號
免費撥打400-1886560
免費撥打0592-5580190 免費撥打 400-1886560 或 0592-5580190
返回頂部
返回頭部 返回頂部