Nginx和Node.js-充分利用服务器
出于实验/学习目的(假设我的应用程序有很多持久/并发流量),我有一个运行docker的VM。对于docker,我有以下设置: 所有东西都有自己的容器,并与端口通信。我试图模拟两个不同的服务器(Nginx),通过HAProxy实现负载平衡 现在它工作得很好,但据我所知,节点仍然在单线程中运行 Nginx包含的唯一配置是作为节点的反向代理(其他所有配置都是默认配置)。每个Nginx服务器只处理每个服务器(节点)的一个域Nginx和Node.js-充分利用服务器,node.js,nginx,docker,proxy,load-balancing,Node.js,Nginx,Docker,Proxy,Load Balancing,出于实验/学习目的(假设我的应用程序有很多持久/并发流量),我有一个运行docker的VM。对于docker,我有以下设置: 所有东西都有自己的容器,并与端口通信。我试图模拟两个不同的服务器(Nginx),通过HAProxy实现负载平衡 现在它工作得很好,但据我所知,节点仍然在单线程中运行 Nginx包含的唯一配置是作为节点的反向代理(其他所有配置都是默认配置)。每个Nginx服务器只处理每个服务器(节点)的一个域 我应该使用节点集群来实现多线程方法吗 或者(假设每台服务器有2个内核),我应
- 我应该使用节点集群来实现多线程方法吗
- 或者(假设每台服务器有2个内核),我应该为每台Nginx服务器创建两个节点实例并进行负载平衡吗?在这种方法中,我不确定负载平衡将如何工作。如果有两个节点实例,通过Nginx(或HAProxy)进行负载平衡,那么它将类似于:
这还是个新鲜事。基本上,我想模拟两台服务器,每个服务器有两个核心,分别运行Node.js、由Nginx反向代理以进行静态缓存等,并由HAProxy进行负载平衡。找到了答案(不久前,但只是更新了这篇文章,以防对某人有所帮助) Nginx可以运行多个辅助进程。因此,我们可以使用多个虚拟服务器块来实现这一点。我对Docker/Nginx/Node采用的当前方法是:
- Nginx服务器块1:它侦听端口81上的所有请求。这会将所有这些请求转发到一个节点实例(我们称之为node1)
- Nginx服务器块2:侦听端口82上的所有请求。并将它们全部转发到另一个节点实例(我们称之为node2)
server n1 nginx:81
server n2 nginx:82
nginx
是容器名称。Nginx目前运行2个辅助进程。
(添加所需的http/tcp检查,这只是最小配置)
接受更好方法的建议