如何在nodejs中运行长时间运行的同步操作

问题描述 投票:1回答:1

我正在为组织使用nodejs编写工资管理Web应用程序。在许多情况下,应用程序将涉及cpu密集型数学计算以计算数字,并且许多用户尝试以类似的方式进行计算。

如果我清楚地编写逻辑(撇开我已经从算法和数据结构的角度尽我所能来控制复杂性这一事实,它将同步运行以阻止事件循环并使请求和响应变慢。

如何解决这种情况? asynchronously可以执行哪些选择?我还想提到,可以让此计算工具在background中运行,以后我可以选择通过状态通知来告诉用户。我在各地搜索了解决方案,发现了一些解决方案,但仅从理论上讲,我没有通过实施对其进行测试。在下面提及:

  1. 群集节点服务器
  2. 使用工作线程
  3. 使用备用服务器并进行一些负载平衡。
  4. 使用消息队列并将其与辅助线程耦合以执行背景任务。

有人可以在这种情况下向我提出一些经过实践检验的建议吗?以及与此相关的一些教程链接。

node.js rabbitmq pm2 event-loop worker-thread
1个回答
0
投票

您可能想尝试易于使用且有文档证明的网络工作者。https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.