[英]What's the difference with childprocess.fork between cluster.fork
[英]What are the effective differences between child_process.fork and cluster.fork?
我知道 cluster.fork 將允許多個進程在同一個端口上偵聽,我還想知道的是,當您的某些工作人員不是 tcp 的偵聽器/處理程序時,支持此操作的額外開銷有多少服務?
我有一個服務,我也想啟動幾個工作程序。例如:2 個 Web 服務偵聽器進程和 3 個工作程序實例。 最好為他們全部使用集群,還是為 2 個 Web 服務使用集群,而為工作人員使用 child_process 更好?
我不知道 node 的內部結構,但我認為對於我自己和其他人來說,如果能夠更好地了解在不同需求下采用哪條路線會很好。 現在,我對所有進程都使用集群。
cluser.fork
是在上實現child_process.fork
。 cluster.fork
帶來的額外東西是,它將使您能夠偵聽共享端口。 如果你不想要它,只需使用child_process.fork
。 所以是的,將集群用於 Web 服務器,將 child_process 用於工作人員。
Cluster 是 Node.js 的一個模塊,它包含一組函數和屬性,可幫助開發人員分叉進程,通過這些進程,他們可以利用多核系統。 使用集群模塊,子進程和幾個部分的創建和共享變得容易。 在單個線程中,node.js 的單個實例專門運行並利用各種生態系統,啟動一個 node.js 集群來分配負載。
開發人員可以通過 child_process 模塊訪問操作系統功能,這是通過在子進程內運行任何系統命令來實現的。 可以控制子進程輸入流,開發人員也可以監聽輸出流。 使用 Node 的 child_process 模塊可以輕松地創建子進程,並且這些子進程可以在消息傳遞系統的幫助下輕松地相互通信
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.