微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有了PM2,为什么在PM2也支持的情况下使用负载均衡反向代理来分配负载? PM2 文档 — 负载平衡集群模式你为什么要这样做而不仅仅是做

如何解决有了PM2,为什么在PM2也支持的情况下使用负载均衡反向代理来分配负载? PM2 文档 — 负载平衡集群模式你为什么要这样做而不仅仅是做

The PM2 documentation — Load-balancing (cluster mode)

PM2 文档 — 负载平衡(集群模式)

内置负载平衡器提供联网的 Node.js 应用程序(http(s)/tcp/udp 服务器),可在所有可用 cpu 上进行扩展,无需任何代码修改

根据 PM2 文档,PM2 还支持跨 Node.js 进程的负载平衡。然而,负载均衡最常见的做法无疑是使用负载均衡反向代理,例如 Nginx,即使您使用的是 PM2。


问题

假设您有一台机器,并且您正在使用 PM2 来充分利用多个 cpu 内核,从而生成多个 Node.js 进程并保持它们的运行。当 PM2 也支持它时,为什么要使用负载平衡反向代理来分配负载?这两个“负载平衡”是否不同?


换句话说,

你为什么要这样做

pm2 start app.js -f --3000
pm2 start app.js -f --3001
pm2 start app.js -f --3002
pm2 start app.js -f --3003

upstream app_servers {
    server 127.0.0.1:3000;
    server 127.0.0.1:3001;
    server 127.0.0.1:3002;
    server 127.0.0.1:3002;
}

server {
    listen 80;
    ……
}

而不仅仅是做

pm2 start app.js -i max

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。