在一个节点过程中或在自己的节点进程中运行多个httpserver



我正在尝试找出更好的解决方案。

我正在我的节点应用程序中运行两个HTTP服务器,端口3000处的服务器1,端口3001上的服务器2。服务器1正在制作主要逻辑和数据库处理,而服务器2处理文件请求。

当我使用Node MyApp.js启动应用时,两个服务器都启动并聆听其端口。

/*
 *Fire Up the Servers
 */
http.createServer(app).listen(3000, function(){
  console.log('HTTP Express server listening on port 3000');
});
http.createServer(fileserver).listen(3001, function(){
  console.log('HTTP Fileserver is listening on port 3001');
});

现在我的问题:有人知道如果我为每个服务器编写一个自己的节点进程,是否会有任何区别,以便我必须运行 node myapp.js 启动服务器1,,在端口3000上聆听,然后运行 node myfileserver.js ,在端口3001上听。

有差异吗?或有任何提示,我可以在哪里阅读有关它的内容?

问候,马丁

取决于代码的其余部分。如果两个服务器都共享状态,最好在同一过程中启动它们。

如果没有共享状态,最好将它们放在单独的进程中,以便一个人的执行流不影响另一个请求服务器的数量。特别是如果一个是io绑定的,而另一个是CPU密集的。

另外,如果您在同一过程中启动它们,为什么不在同一端口上的两个事情?

最新更新