相关疑难解决方法(0)

使用多个Docker容器VS标准节点集群时的性能和可靠性

使用多个Docker容器VS标准节点集群时的性能和可靠性

嗨,我对我遇到的两个设置的性能,可靠性和增长潜力有疑问.我离Docker或集群专家很远,所以任何建议或提示都会非常感激.

该应用程序

运行的典型MEAN堆栈Web应用程序Node v6.9.4.没有什么花哨,标准的设置.

我发现的问题和可能的解决方案

a)具有NGINX(反向代理)和NodeJS的标准Linux服务器

b)具有NGINX(反向代理)和NodeJS集群的标准Linux服务器.使用Node的Cluster模块

c)使用NGINX的负载均衡器将"Dockerized"NodeJS应用程序克隆3次(3个容器).这个想法归功于Anand Sankar

// Example nginx load balance config
server app1:8000 weight=10 max_fails=3 fail_timeout=30s;
server app2:8000 weight=10 max_fails=3 fail_timeout=30s;
server app3:8000 weight=10 max_fails=3 fail_timeout=30s;

// Example docker-compose.yml
version: '2'
services:
    nginx:
        build: docker/definitions/nginx
        links:
            - app1:app1
            - app2:app2
            - app3:app3
        ports: 
            - "80:80"
    app1:
        build: app/.
    app2:
        build: app/.
    app3:
        build: app/.
Run Code Online (Sandbox Code Playgroud)

d)所有在一起."Dockerized"NodeJS应用程序(多个容器),在3个容器内部和顶部配置了Cluster - NGINX的负载均衡器.

如果我正确地得到这个,有3个NodeJS容器运行应用程序,其中每个这些应用程序副本支持NodeJS群集,应该会带来令人难以置信的性能.

3个容器x 4个工作者,应该意味着12个节点来处理所有请求/响应.如果这是正确的,唯一的缺点是在硬件,机器方面更强大,以支持这一点.

无论如何,我的逻辑可能是完全错误的,所以我正在寻找任何评论或反馈!

目标

我的目标是拥有生产就绪,稳定的环境,可以承担一些负担.我们不会同时谈论数千个并发连接,等等.保持基础架构的可扩展性和灵活性是一个很大的"+".


希望这个问题有道理.对不起,很长的帖子,但我想保持清醒.

谢谢!

nginx node.js express docker docker-compose

16
推荐指数
1
解决办法
2890
查看次数

标签 统计

docker ×1

docker-compose ×1

express ×1

nginx ×1

node.js ×1