Node.js 将域代理到运行在不同端口上的多个节点服务器,还是让一个节点服务器具有类似vhost的设置更好?

Node.js 将域代理到运行在不同端口上的多个节点服务器,还是让一个节点服务器具有类似vhost的设置更好?,node.js,Node.js,假设你有3个域名,foo.com、bar.com和blah.com。您希望为每个节点运行一个nodejs应用程序 使用http proxy将它们代理到3个不同端口上的3个独立节点应用程序更好,还是使用express.vhost()来要求()每个主机所需的任何代码的单个节点应用程序更好?这两种情况的优缺点?每个node.js进程只使用一个CPU。如果您的服务器只有一个内核,那么最好只运行一个节点实例,以尽可能避免上下文切换 但是,如果您有多核(和超线程),那么运行尽可能多的节点实例是有意义的。请记

假设你有3个域名,foo.com、bar.com和blah.com。您希望为每个节点运行一个nodejs应用程序


使用http proxy将它们代理到3个不同端口上的3个独立节点应用程序更好,还是使用express.vhost()来要求()每个主机所需的任何代码的单个节点应用程序更好?这两种情况的优缺点?

每个node.js进程只使用一个CPU。如果您的服务器只有一个内核,那么最好只运行一个节点实例,以尽可能避免上下文切换

但是,如果您有多核(和超线程),那么运行尽可能多的节点实例是有意义的。请记住,前端代理也会占用处理时间

因此,对于一个四核服务器和3个域,运行4个进程——前端代理和3个节点实例非常有意义

另外,不要忘记,您的数据库也可能配置为启动多个线程