【发布时间】:2019-03-17 04:09:47
【问题描述】:
我正在研究用例,向几个朋友介绍使用 nodejs 进行集群计算。
我的目标是解释一些现实生活中的 nodejs 集群案例,以及为什么 nodejs 有助于创建这些特定案例。
到目前为止,确实有一个案例吸引了我:
- 集群网络服务器(如 REST 的 API 服务器)(原因:负载平衡)
我看到了一些关于进行昂贵计算的例子,提到了在不同的线程/处理器上这样做的好处。
这让我想到了拥有工作池,每个池执行不同的部分,例如仅处理与数据库的连接、生成 PDF 等。
试图了解worker与master之间的联系,我fiddled around我仍然不确定:
- nodejs 集群是否只适合让相同的进程能够并行运行(文档建议这样做)
- 或者让 nodejs 集群工作者像池中的单独任务一样有意义。
.. 导致:哪些用例实际上是 nodejs 的实际用例?
希望这是可以理解的。 非常欢迎提出意见。
【问题讨论】:
-
另外,您可能会发现我在这里的回答很有帮助:stackoverflow.com/a/19324665/362536 我几年前写的,但我认为它仍然是最新的。
-
@Brad “Node.js 有点不同。从 JavaScript 的角度来看,它是单线程的,但磁盘和网络 IO 等其他任务会在单独的线程上自动处理。”这很有趣,谢谢