【问题标题】:Load balancing express app instances负载均衡快速应用实例
【发布时间】:2015-11-16 18:01:52
【问题描述】:

这是我的第一个负载平衡问题。

我编写了一个简单的快速应用程序来了解负载平衡的工作原理。我也在看docker之类的东西。如果我必须使用 Nginx 进行负载平衡,我是否应该在 4 个不同的 docker 容器中运行 4 个不同的 express 实例,然后使用 Nginx 在它们之间进行负载平衡,而 Nginx 位于它自己的容器中?

我做对了吗?我有点困惑

【问题讨论】:

    标签: node.js nginx docker load-balancing


    【解决方案1】:

    我为similar post some time ago 提供了答案,但以下是重要的部分:

    是的,可以使用 Nginx 来平衡请求之间的负载 Node.js 服务的不同实例。每个 Node.js 实例 可以在不同的 Docker 容器中运行。

    然后您可以修改 Nginx 以使用例如上面链接中提到的配置文件在容器之间进行负载平衡。

    Nginx 本身可以在 Docker 容器中完美运行。对于这些类型的设置,Docker compose 可以帮助您编排配置,以便您可以通过简单的命令启动所有 Nginx 和 Express 容器。

    【讨论】:

    • 但是如何扩大规模呢?我的意思是最终多个 docker 镜像在有限的资源上运行对吗?
    • 通常你会有一台运行多个 Docker 容器的物理机器。 Docker 镜像的数量取决于许多因素:应用程序类型、物理机配置、容器设置等。对于 Node.js,我建议每个 CPU 一个 Docker 容器。您可以使用 Docker 中的 cpuset parameter 将容器显式绑定到特定 CPU。 here 也有一个很好的例子。不过,一般来说,您想对此进行试验。
    • 谢谢,这非常有用:)
    猜你喜欢
    • 1970-01-01
    • 2021-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-29
    相关资源
    最近更新 更多