用gatewayworker做的捕魚,房間數(shù)據(jù)用GlobalData原子實現(xiàn),4個玩家在同一個房間不在同一個進(jìn)程,每次發(fā)射子彈(每秒5發(fā)),都要判斷取當(dāng)前房間魚數(shù)組判斷當(dāng)前命中魚是否存在,擊殺后修改數(shù)組,房間出魚更新也要往數(shù)組里加 ,都是原子實現(xiàn), 阿里云8核ic5開24個business 進(jìn)程 ,gateway 和 register 服務(wù)在另一臺服務(wù)器 ,400多同時在線 大概一百多房間,8個cpu都在30-40%之間,玩家使用技能的時候已經(jīng)感覺到延遲了,請問我這種情況應(yīng)該怎么解決
可以參考這個文章。
https://wenda.workerman.net/question/523
?
如果我做這種游戲的話我會考慮用單進(jìn)程去做,這樣可以方便的做全局?jǐn)?shù)據(jù)共享,避免頻繁的進(jìn)程間通訊,可以最大限度的降低服務(wù)器負(fù)載,提升系統(tǒng)穩(wěn)定性。并且可以近乎無限擴展服務(wù)器。
?
400多在線,這個方案估計1個進(jìn)程應(yīng)該就夠了。更多在線就開更多的這種進(jìn)程實例即可。