我是否可以使用native cluster module来构建Node.JS多计算机集群,或者该模块可用于仅在同一计算机上的CPU线程之间分配工作?
答案 0 :(得分:2)
根据文档
Node.js的单个实例在单个线程中运行。服用 多核系统的优势,用户有时会希望 启动Node.js进程集群来处理负载。
显然,它可以在同一台机器上工作。
但是在您的情况下,您可以做的是使用任何代理服务器(例如 Nginx
)将请求分发到不同的计算机上它将request分发到多个后端计算机。 另请参见Nginx Load Balancing。
http {
upstream backend {
server backend1.example.com weight=5; // machine 2 ip
server backend2.example.com; // machine 1 ip
server 192.0.0.1 backup; // machine 3 ip
}
}
在这些计算机上,您可以创建集群,或者更好地使用pm2
之类的任何集群管理器。