gpt4 book ai didi

Node.js 工作农场和队列管理

转载 作者:太空宇宙 更新时间:2023-11-03 23:09:49 25 4
gpt4 key购买 nike

我正在寻找使用 node.js 创建“ worker 农场”的解决方案。基本上,我们在 Node 中有一个应用程序,我们需要发送“作业”以在 n 个工作服务器上运行。例如,假设我们有 5 台服务器,它们都运行某些作业,这些作业需要进行分发或“排队”,直到某个工作线程有可用的 CPU 来处理这些作业。

实现此目的的一种方法是在每台单独的计算机上运行一个工作服务器。每个工作线程都会根据其 CPU 利用率或队列可用性从队列中提取数据。应用程序本身会将项目添加到队列中(可能由 Redis 处理)。各个工作服务器和应用程序本身之间不会有直接通信。我可以看到的一个问题是,如果多个工作人员同时获取同一个队列。另一种方法是以某种方式从应用程序与工作服务器进行通信,这将使工作人员拥有最少的资源,并将作业“分配”给该特定工作人员或将其排队。

有人知道处理这个问题的好解决方案吗?

谢谢!

最佳答案

我推荐kue,它运行在Redis之上。它为您提供原子队列操作,每个工作人员都可以从队列中获取下一个任务。查看 resque 以获得更全功能的版本。

关于Node.js 工作农场和队列管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18677969/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com