簡體   English   中英

child_process.fork 和 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM