原理
Worker說明
Worker是Workerman中最基本容器,Worker可以開啟多個進程監(jiān)聽端口并使用特定協(xié)議通訊,類似nginx監(jiān)聽某個端口。每個Worker進程獨立運作,采用Epoll(需要裝event擴展)+非阻塞IO,每個Worker進程都能上萬的客戶端連接,并處理這些連接上發(fā)來的數(shù)據(jù)。主進程為了保持穩(wěn)定性,只負責監(jiān)控子進程,不負責接收數(shù)據(jù)也不做任何業(yè)務(wù)邏輯。
客戶端與worker進程的關(guān)系
主進程與worker子進程關(guān)系
特點:
從圖上我們可以看出每個Worker維持著各自的客戶端連接,能夠方便的實現(xiàn)客戶端與服務(wù)端的實時通訊,基于這種模型我們可以方便實現(xiàn)一些基本的開發(fā)需求,例如HTTP服務(wù)器、Rpc服務(wù)器、一些智能硬件實時上報數(shù)據(jù)、服務(wù)端推送數(shù)據(jù)、游戲服務(wù)器、微信小程序后臺等等。