簡體   English   中英

將 node.js 作為作業工作者運行時是否需要集群?

[英]is cluster for node.js required when running it as a job worker?

我們是否需要用於 node.js 腳本的集群模塊,該腳本只是從齒輪服務器或像 AWS SQS 中的 rest api 獲取一些作業並執行它?
我所知道的是,集群在套接字共享(例如偵聽端口)的情況下更有用,例如在 Web 服務器中。
PS:我已經在使用 monit 來監視和重新啟動這些守護進程,以防萬一崩潰,並且將來計划使用 pm2(在非集群模式下,即沒有 -i 標志)。

不,您不必使用集群模塊來為某種工作隊列中的多個操作提供服務。 當其特定功能與您正在執行的工作類型(負載平衡多個傳入連接)匹配時,您應該使用 cluster 模塊。

事實上,如果要做的操作大多是異步的事情(比如向外部數據庫發送更新),你甚至可能不需要多個進程。 但是,如果您確實需要多個流程,那么您可以使用process模塊中的各種選項來啟動其他工作流程來執行單獨的任務,並使用主中央服務器來監視和協調這些其他流程。 這是 cluster 模塊所做的一部分,但它的用途更專業,而不僅僅是啟動您可以自己編碼的其他外部進程的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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