我正在尝试找出更好的解决方案。
我正在我的节点应用程序中运行两个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密集的。
另外,如果您在同一过程中启动它们,为什么不在同一端口上的两个事情?