国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

如果workerman實(shí)現(xiàn)分布式處理

DY

如果workerman實(shí)現(xiàn)分布式處理,是不是需要通過socket進(jìn)行多臺(tái)服務(wù)器的通訊,那么這個(gè)socket的通訊模式,和fastcgi相比,好在什么地方?

6405 8 0
8個(gè)回答

walkor 打賞

workerman分布式不一定要多臺(tái)服務(wù)器間socket通訊,看具體應(yīng)用,例如短鏈接類的WEB應(yīng)用,就不用服務(wù)器間通訊。fastcgi是一種協(xié)議,和分布式?jīng)]有必然聯(lián)系,我也不知道怎么和workerman來比較。

  • 暫無評(píng)論
DY

嗯,目標(biāo)需求是一個(gè)游戲服務(wù)器

需要用3臺(tái)Server對(duì)游戲的邏輯進(jìn)行處理

一臺(tái)Gateway,進(jìn)行連接管理。

那如果Gateway向Server發(fā)送處理請(qǐng)求,是不是必然需要通過Socket進(jìn)行通訊。

還是通過共享內(nèi)存,大家都去訪問一個(gè)memcache機(jī)器之類的部署方式。

因?yàn)镕astCGI是基于Socket的一種模式,所以Gateway只需要設(shè)置好要請(qǐng)求FastCGI網(wǎng)關(guān)地址,然后進(jìn)行輪訓(xùn)請(qǐng)求就可以達(dá)到效果。

所以想問一下,如果是Worekerman,該怎么處理?

  • 暫無評(píng)論
walkor 打賞

workerman中 Gateway和BusinessWorker之間的通訊是TCP長鏈接通訊。而FastCGI一般用于短鏈接通訊,使用FastCGI會(huì)有頻繁的創(chuàng)建鏈接TCP三次握手和斷開鏈接TCP四次握手的通訊過程,導(dǎo)致服務(wù)器網(wǎng)絡(luò)IO及CPU負(fù)載都會(huì)高一些,而且在創(chuàng)建鏈接時(shí)也會(huì)造成請(qǐng)求的等待,影響通訊的即時(shí)性。另外FastCGI協(xié)議比較復(fù)雜,解析起來也比較耗費(fèi)CPU,F(xiàn)astCGI更適合WEB類的應(yīng)用。相比workerman的協(xié)議是自己訂制的,簡(jiǎn)單高效。

  • 暫無評(píng)論
DY

哦,那我明白了

workerman里

Gateway會(huì)跟N臺(tái)服務(wù)器的BusinessWorker進(jìn)行長連接通信,從而實(shí)現(xiàn)分布式,是這個(gè)意思吧?

  • 暫無評(píng)論
walkor 打賞

對(duì)的。
而且Gateway與BusinessWorker之間是自動(dòng)感知的,你加一臺(tái)BussnessWorker或者下掉一臺(tái)BusinessWorker,Gateway都會(huì)自動(dòng)感知,不用配置Gateway,非常方便。

  • 暫無評(píng)論
DY

哦?這個(gè)自動(dòng)感知是掃描端口監(jiān)聽么?

  • 暫無評(píng)論
ayamzh

老大。你所說的自動(dòng)感知機(jī)制。的相關(guān)代碼在哪,怎么實(shí)現(xiàn)

  • 暫無評(píng)論
walkor 打賞

BusinessWorker進(jìn)程啟動(dòng)的時(shí)候會(huì)自動(dòng)讀取一個(gè)存儲(chǔ),這個(gè)存儲(chǔ)中保存著所有Gateway進(jìn)程內(nèi)部通訊的ip和端口,然后BusinessWorker與這些ip端口建立長鏈接,這時(shí)Gateway會(huì)自動(dòng)感知到有新的BusinessWorker加進(jìn)來,以后有客戶端請(qǐng)求到來時(shí)會(huì)自動(dòng)將請(qǐng)求按照規(guī)則(目前是隨機(jī)或者說是輪詢)發(fā)送到新加的BusinessWorker。

當(dāng)下掉一臺(tái)BusinessWorker時(shí),這臺(tái)BusinessWorker與Gateway的長鏈接會(huì)斷開,Gateway此時(shí)也會(huì)感知到,然后Gateway將斷開的長鏈接從自己與BusinessWorker的長連接池中去掉,就不會(huì)向下掉的BusinessWorker轉(zhuǎn)發(fā)客戶端請(qǐng)求了。

原理就是這樣,代碼見 Bootstrap/Gateway.php Bootstrap/BusienessWorker.php

  • 暫無評(píng)論
年代過于久遠(yuǎn),無法發(fā)表回答
??