我真的想使用群集模式为我的node.js应用程序做一些基本的负载平衡,但是在集群模式下运行时我还没有找到任何有关特殊注意事项的文档。在群集模式下运行时,是否需要对某些代码进行任何特殊修改?我假设所有节点端点都将以原子方式执行,但我还没有找到任何关于此的信息。
答案 0 :(得分:1)
我怀疑那么多/任何代码库会以不同的方式执行,更不用说原子,它取决于操作系统/硬件而不是像pm2这样的进程管理器。
您无需更改代码中的任何内容以使用pm2的群集模式,只需使用-i
标志并设置为所需的数字(通常是系统上可用的物理CPU数量。通常您可以执行pm2 start --name MyApp -i $(nproc)
,否则您可以使用cluster模块在代码中手动执行此操作。
假设var cluster = require('cluster')
您可以通过将cluster.schedulingPolicy
设置为cluster.SCHED_RR
来更改调度 link 方法,如果您想要循环调度或{{1}如果你想让操作系统选择调度。