我看了BrowserQuest的實現(xiàn),在WORKER里創(chuàng)建了世界,世界里面的怪物區(qū)域采用TIMER進(jìn)行刷新和AI處理,這個游戲業(yè)務(wù)邏輯比較簡單,玩家也少,如果同時承載大量玩家的話,感覺這個WORKER響應(yīng)會出現(xiàn)延遲。 現(xiàn)在我想實現(xiàn)一個MMORPG的游戲,用GateWayWoker的模型,如果把怪物也按照BrowserQuest放到一個WORKER里,應(yīng)該會有很多問題,我想了一種解決方案,請大神幫我評估一下,如果這樣做...
在worker中,經(jīng)常會有業(yè)務(wù)需要用計時器,而一個Worker只有一個LIBEVENT監(jiān)聽事件,如果有timer或者read事件到達(dá),觸發(fā)執(zhí)行回調(diào)的過程中執(zhí)行了耗時的業(yè)務(wù)邏輯,那timer是不是會無法按時觸發(fā),比如1毫秒執(zhí)行一次,應(yīng)該會被耗時的業(yè)務(wù)拖長時間吧? 不知道我這樣認(rèn)為對不對,如果對的話,是不是只能優(yōu)化業(yè)務(wù)邏輯了?...
在GatewayWorker模式下,為了重啟工作進(jìn)程不影響客戶連接,所以在Worker進(jìn)程里不保存用戶狀態(tài),所以我想問下在做MMO游戲類型的時候,大量用戶數(shù)據(jù)放在哪里比較合適?不能在Worker里用全局變量保存,又不能在GATEWAY里保存了,通過傳遞數(shù)據(jù)的方式訪問。如果用REDIS之類的來交換數(shù)據(jù),由于是REDIS是單線程的,如果大量用戶并發(fā)的話,REDIS勢必會造成響應(yīng)速度慢的問題,有沒有什么好的方法呢?(Mec...