gpt4 book ai didi

node.js - 如何访问工作人员的排队请求?

转载 作者:行者123 更新时间:2023-12-03 06:36:26 31 4
gpt4 key购买 nike

我正在使用 nodejs 实现一个 Web 服务器,它必须服务于大量并发请求。当 nodejs 一个一个地处理请求时,它将它们保存在一个内部队列中(我猜是在 libuv 中)。

我还想使用 cluster 运行我的 Web 服务器模块,因此每个工作人员将有一个请求队列。

问题:

  • 如果任何工作人员死亡,我如何检索其排队的
    要求?
  • 如何将检索到的请求放入其他工作人员的队列中?
  • 是否有任何 API 可以访问活着的工作人员的请求队列?

  • 到第 3 位时,我想将排队的请求保留在 Redis 之类的地方(如果可能的话),以便在服务器崩溃、故障甚至硬件重启的情况下,我可以检索它们。

    最佳答案

    正如您在您正在使用/想要使用redis的标签中提到的那样,您可以使用基于redis的队列管理器为您完成所有工作。
    结帐https://github.com/OptimalBits/bull (或者它的替代品)。bullqueue 的概念.您将工作添加到 queue并监听来自不同进程/虚拟机的同一个队列。 bull只会将相同的作业发送给一个监听器,您可以控制每个监听器同时处理多少作业 (concurrency-level)。
    此外,如果其中一个作业运行失败(换句话说,队列的监听器抛出错误),bull将尝试将相同的工作分配给不同的听众。

    关于node.js - 如何访问工作人员的排队请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57122933/

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