因爲我對羣集完全陌生並且文檔沒有與我一起單擊,所以與我一起工作。Node.js羣集儘可能地處理數據
if (cluster.isMaster)
{
for (let i = 0; i < numCPUs; i++)
{
cluster.fork();
}
for (const file in files)
{
cluster.workers.send(file); //***
}
}
else if (cluster.isWorker)
{
process.on("message", (msg) =>
{
//...Process data here...
});
}
***是我想要的東西。像cluster.workers.send(...)向工作人員發送消息以及不忙的人會收到消息。如果所有工作人員都很忙,那麼這條消息就會等待發送,直到有一名自由工人。
節點集羣將創建您的應用程序的多個實例。如果您只想讓一個羣集執行一項任務,則可以使用redis和redlock npm模塊進行使用。使用此模塊,您可以只允許一個羣集在多個羣集中執行一項任務。 –
我會檢查redis和redlock,但有沒有一種方法可以實現這一點,而無需添加額外的依賴項?如果可能的話,最好不要使用太多的樣板 – Arman