browserquest php安装,请问一下browserquest-php项目换成GatewayWorker的形式需要怎么部署worker...
單進(jìn)程模式用戶間數(shù)據(jù)容易共享
browserquest本身就設(shè)計(jì)成單進(jìn)程模式,單進(jìn)程模式用戶間數(shù)據(jù)容易共享,不用頻繁的進(jìn)程間通訊,開發(fā)簡(jiǎn)單。
改成gateway網(wǎng)關(guān)模式利弊
如果要改成多進(jìn)程gateway網(wǎng)關(guān)模式,代碼改動(dòng)量會(huì)很大,要求開發(fā)者對(duì)于browserquest運(yùn)行機(jī)制及代碼結(jié)構(gòu)非常熟悉。
即使開發(fā)出多進(jìn)程模式,由于進(jìn)程間要頻繁通訊,整體性能不一定比單進(jìn)程好。
拿browserquest來(lái)說(shuō)
拿browserquest來(lái)說(shuō),雖然是單進(jìn)程模式,但是由于游戲內(nèi)沒有阻塞IO,單進(jìn)程估計(jì)也能支持上千人。
browserquest本身地圖并不大,如果是上千人在線估計(jì)已經(jīng)是滿屏都是人了,支持再高的在線人數(shù)意義不大,人數(shù)繼續(xù)增加的話應(yīng)該去考慮增加一個(gè)browserquest服務(wù),采用多房間(多服)的方式平攤壓力。每個(gè)服單獨(dú)的實(shí)例,互不影響,可以幾乎無(wú)限的水平擴(kuò)展。
所以就browserquest來(lái)說(shuō),單進(jìn)程模式+多實(shí)例分服的方式會(huì)比較好。
非要多進(jìn)程寫個(gè)browserquest
假設(shè)非要突破browserquest單進(jìn)程限制,可以考慮為每個(gè)地圖創(chuàng)建一個(gè)進(jìn)程,用戶切換地圖時(shí),關(guān)閉原來(lái)socket鏈接,并重新鏈接連到對(duì)應(yīng)的地圖服務(wù)器進(jìn)程。由于不同地圖的人之間不會(huì)有太多的消息通訊,所以不需要太多進(jìn)程間通訊,這樣每個(gè)地圖都可以承載上千人,那么多個(gè)地圖就可以承載更多人。
這樣一組browserquest進(jìn)程應(yīng)該比原來(lái)單進(jìn)程承載更多的在線用戶,如果用戶量繼續(xù)增加,還是老套路,開新的游戲服務(wù)器房間。
再優(yōu)化
再優(yōu)化可能就是把游戲拆分成更多的服務(wù),登陸服務(wù)、接入服務(wù)、地圖服務(wù)、AI服務(wù)等,然后針對(duì)每個(gè)服務(wù)做優(yōu)化,多進(jìn)程多服務(wù)器支持等。具體如何做與服務(wù)類型有關(guān),得具體問題具體分析了。
我本身不是做游戲的,拋磚引玉,歡迎大家討論
總結(jié)
以上是生活随笔為你收集整理的browserquest php安装,请问一下browserquest-php项目换成GatewayWorker的形式需要怎么部署worker...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 电影搏击俱乐部深度解析(影评一部探讨存在
- 下一篇: 设置双网卡的电脑(设置双网卡的电脑配置)
