Reactor、Worker、Task三種角色分別的職責(zé)是:
可以理解為reactor就是nginx,worker就是php-fpm。reactor線程異步并行地處理網(wǎng)絡(luò)請求,然后再轉(zhuǎn)發(fā)給worker進(jìn)程中去處理。reactor和worker間通過IPC方式通信。swoole的reactor,worker,task_worker之間可以緊密的結(jié)合起來,提供更高級的使用方式。一個更通俗的比喻,假設(shè)Server就是一個工廠,那reactor就是銷售,幫你接項(xiàng)目訂單。而worker就是工人,當(dāng)銷售接到訂單后,worker去工作生產(chǎn)出客戶要的東西。而task_worker可以理解為行政人員,可以幫助worker干些雜事,讓worker專心工作。
底層會為Worker進(jìn)程、Task進(jìn)程分配一個唯一的ID
不同的task/worker進(jìn)程之間可以通過sendMessage接口進(jìn)行通信
可以理解為reactor就是nginx,worker就是php-fpm。reactor線程異步并行地處理網(wǎng)絡(luò)請求,然后再轉(zhuǎn)發(fā)給worker進(jìn)程中去處理。reactor和worker間通過IPC方式通信。swoole的reactor,worker,task_worker之間可以緊密的結(jié)合起來,提供更高級的使用方式。一個更通俗的比喻,假設(shè)Server就是一個工廠,那reactor就是銷售,幫你接項(xiàng)目訂單。而worker就是工人,當(dāng)銷售接到訂單后,worker去工作生產(chǎn)出客戶要的東西。而task_worker可以理解為行政人員,可以幫助worker干些雜事,讓worker專心工作。