因?yàn)樽罱赡軙?huì)選擇用PHP作為游戲服務(wù)器,其實(shí)游戲整體實(shí)時(shí)交互可能要求并不高,確實(shí)可以用短連接API來完成功能,但是游戲前端以前用慣了websocket,而且游戲可能會(huì)出現(xiàn)一些玩家實(shí)時(shí)聊天,在這樣的情況下,可能需要服務(wù)端搭建這樣的一個(gè)websocket服務(wù)。因?yàn)橹耙恢睕]有接觸過這種長連接的應(yīng)用場(chǎng)景,所以在這里想問問老鳥幫忙解惑一下這方面的問題,謝謝了哈!
本身想結(jié)合TP或者YII這類常用的框架,因?yàn)榭蚣軒淼谋憷赃€是可以節(jié)省開發(fā)的時(shí)間,但是考慮到websocket這種長連接常駐進(jìn)程,會(huì)有以下幾點(diǎn)疑問
1.長連接進(jìn)程會(huì)不會(huì)讓這類框架的的實(shí)例占用內(nèi)存資源一直不釋放?那多個(gè)鏈接創(chuàng)建下來的進(jìn)程是否占用內(nèi)存很龐大?
長連接進(jìn)程對(duì)于mysql數(shù)據(jù)庫連接如果處理連接過多?因?yàn)镻HP是多進(jìn)程運(yùn)行的,不像JAVA這種單例多線程,而且網(wǎng)上也很少有php連接池的應(yīng)用處理,我們?cè)撛趺刺幚砻恳粋€(gè)進(jìn)程創(chuàng)建的mysql連接?如果主動(dòng)釋放的話,會(huì)不會(huì)在交互頻繁點(diǎn)的地方造成數(shù)據(jù)庫連接上的性能阻塞?
如果有踩過坑的老鐵可以分享一下你們項(xiàng)目架構(gòu)嗎?
或者有比較不錯(cuò)的項(xiàng)目模式推薦,我還是想兼顧一下開發(fā)效率和性能穩(wěn)定的~