目前,我通过一个server.js文件运行两个(很快将是三个)node.js websocket应用程序.我正在使用express来服务我的整个页面,以及我写的粒子物理“游戏”.我也将成为一个聊天室,只是为了更多地了解这些事情.
我的问题(或缺乏?)是所有这一切都通过一个server.js文件运行. Heroku似乎需要这个,所以我不确定是否还有其他选择. Heroku是我用来托管它的东西.
我的问题是,这是不好的做法吗?还有什么我应该做的,我失踪了吗?我的所有“应用程序”都是非常低的流量,因此我认为这不是一个大问题.我只是想从一开始就学习最佳实践,所以我不会犯愚蠢的错误.谢谢.
编辑:如何使用procfile设置在Heroku中专门拆分应用程序?
解决方法:
在我看来,如果应用程序不相关,这是一个不好的做法.如果资源可以处理它,则在同一物理或虚拟服务器上运行3个节点应用本身并不坏.但是,通过相同的Server.js文件运行它们会导致很多东西不属于它们.考虑app 1中的致命错误关闭(或阻碍性能)app 2或app 3的情况.
您应该通过将每个应用程序分隔成分别监听不同端口的实例来封装每个应用程序,然后使用快速反向代理(读取:nginx)从Web代理它们.您可以创建无状态库来封装任何共享功能,然后在每个需要它的应用程序中包含这些库.
例如.
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设置反向代理的信息
原文地址:https://codeday.me/bug/20190624/1277787.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。