gpt4 book ai didi

javascript - 一个服务器文件中的多个 Node.js "Apps"坏习惯?

转载 作者:搜寻专家 更新时间:2023-10-31 23:13:08 25 4
gpt4 key购买 nike

目前,我正在通过一个 server.js 文件运行两个(很快会是三个)node.js websocket 应用程序。我正在使用 express 为我的整个页面以及我编写的粒子物理“游戏”提供服务。我也打算做一个聊天室,只是为了更多地了解这些东西。

我的问题(或缺乏问题?)是所有这些都通过一个 server.js 文件运行。 Heroku 似乎需要这个,所以我不确定是否还有其他选择。我用 Heroku 来托管它。

我的问题是,这是不好的做法吗?还有什么我应该做的我想念的吗?我所有的“应用程序”流量都很低,所以我认为这不是一个大问题。我只想从一开始就学习最佳实践,这样我就不会犯愚蠢的错误。谢谢。

编辑:如何使用 procfile 设置在 Heroku 中专门拆分应用程序?

最佳答案

在我看来,如果应用程序不相关,这是一种不好的做法。在同一个物理或虚拟服务器上运行 3 Node 应用程序本身并不坏,如果资源可以处理的话。但是,通过同一个 Server.js 文件运行它们将导致很多东西出现在它们不应该出现的地方。考虑这样一种情况,应用 1 中的 fatal error 会关闭应用 2 或应用 3(或影响性能)。

您应该封装每个应用程序,将它们分离到监听不同端口的单独实例,然后使用快速反向代理(读取:nginx)从网络代理到它们。您可以创建无状态库来封装任何共享功能,然后将这些库包含在需要它的每个应用中。

例如

app.yourserver.com => localhost:8997 (node app 1)
app2.yourserver.com = localhost:8998 (node app 2)
app3.yourserver.com => localhost:8999 (node app 3)

这里是关于如何使用 nginx 设置反向代理的信息:http://nginx.com/resources/admin-guide/reverse-proxy

关于javascript - 一个服务器文件中的多个 Node.js "Apps"坏习惯?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25127692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com