【问题标题】:Can I load balance to two or more node.js servers in the same GCE VM instance using Google Load Balancer?我可以使用 Google 负载平衡器对同一 GCE VM 实例中的两个或多个 node.js 服务器进行负载平衡吗?
【发布时间】:2017-11-07 07:29:46
【问题描述】:

在单个实例中使用多个 node.js 是一种流行的 node.js 模式,因为它具有“单线程”性质,所以这是我的挑战,在单个 VM 上平衡对多个 node.js 的请求,具有不同的端口。(已编辑)

据我了解,我们只能为每个 instance group 创建一个 backend services,因此有必要创建另一个负载均衡器 (LB) 以将流量重定向到相同的 instance group/不同端口。

这是正确的吗?为同一个 vm 实例创建另一个 LB 会对 LB 策略产生负面影响吗?最佳实践是什么?

【问题讨论】:

    标签: node.js google-cloud-platform google-compute-engine


    【解决方案1】:

    第 7 层负载均衡器只能将实例组用作后端,而不是同一实例上的多个服务器。虽然在一个实例上共同定位多个节点服务器是可行的,但在云环境中这样做(在我看来)没有真正的价值。如果您对以最佳方式使用基础架构感兴趣,App Engine 可能是实现这一目标的最佳方式。

    【讨论】:

      【解决方案2】:

      您可以使用 PM2 库并使用集群模式。 https://www.npmjs.com/package/pm2

      pm2 start app.js -i 4 
      

      上面的示例在同一台服务器上启动 4 个节点实例并负载均衡请求

      【讨论】:

      • 我认为这只适用于单个实例。我的情况是每个实例不止一个节点,不止一个实例。
      【解决方案3】:

      深入研究后发现,只要在实例组Port name mapping (Optional)中添加要平衡的端口,就可以将负载平衡到同一个VM实例中的任意数量的节点上

      因此,您可以拥有多个 VM 实例,每个实例具有多个活动的node.js

      【讨论】:

        猜你喜欢
        • 2022-01-10
        • 2011-04-07
        • 2021-03-17
        • 1970-01-01
        • 2012-05-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-04
        相关资源
        最近更新 更多