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

關于gatewayworker多進程和phpsocketIO單進程概念的模糊

查表仔

我的理解:

phpsocket.io 單進程:

例如,當 客戶端A 請求過來,這個 客戶端A 在處理一些業(yè)務邏輯的時候(IO操作),客戶端B 在這個時候請求過來,是不是必須等 客戶端A 處理完后,客戶端B 才能在進行正常的請求操作,也就是說,這個中間會有阻塞。

gatewayworker 多進程:

例如,當 客戶端A 請求過來,客戶端A 處理一些業(yè)務邏輯(IO操作),這時候,其它客戶端請求過來,發(fā)現(xiàn)這個進程 客戶端A 在操作,就會去請求其它空閑進程吧。

期望得到的回復

以上我舉的例子符合 單進程和多進程 的思想嗎?如果不符合希望能舉例說明。

1643 1 0
1個回答

walkor 打賞

phpsocket.io 理解正確。

gatewayworker 有專門的gateway進程,gateway進程不做業(yè)務邏輯,只負責處理與客戶端的io,所以gateway可以處理大量連接,不會有阻塞情況。
gatewayworker里的businessworker是用來處理業(yè)務的,從單個businessworker進程來看,和phpsocket.io 單進程原理一樣。
如果一個businessworker進程在處理慢業(yè)務,那么分配給這個進程的其他業(yè)務請求也會排隊等待。但是某個進程阻塞,其他進程仍然可以處理請求。

phpsocket.io 和 gatewayworker都是用來處理通訊的,盡量不要在里面處理耗時的請求。耗時的請求可以通過異步任務來處理,參考 異步任務

年代過于久遠,無法發(fā)表回答
??