Node.js 最优雅的部署方式是什么?

2019-08-28 12:04:16 +08:00
 Hanggi
RT,因为最近发现一个问题,就是有些人会在 docker 里面使用 pm2 部署 nodejs 程序,
但是这样的话不就失去了 pm2 的 0 秒重启的功能了嘛?
6872 次点击
所在节点    Node.js
7 条回复
lovedebug
2019-08-28 12:08:19 +08:00
docker 化和 pm2 解决的不是一个问题呀
pm2 只是纵向的扩展,docker 是为了实现横向扩展
lovedebug
2019-08-28 12:09:00 +08:00
准确说 pm2 也是横向扩展,只是粒度更小而已
zhuweiyou
2019-08-28 12:09:48 +08:00
我一般是 nginx upstream 来切流量
jybox
2019-08-28 12:23:58 +08:00
用容器就不需要 pm2 了呀,平滑部署交给容器平台和负载均衡来做(这样实现的平滑部署是语言无关的)。
yun77op
2019-08-28 12:39:24 +08:00
确实没必要,交给容器就可以了
inkWave
2019-08-28 14:34:01 +08:00
我之前看了个 nodejs 的项目也是楼主说的这样.一个同步数据解析数据进数据库的进程,一个 api 接口应用进程,一个前端进程.用 pm2 启动.打包成一个镜像.
libook
2019-09-05 11:01:38 +08:00
容器内用不用 pm2 看具体需求是什么,只是想启动的话确实没啥必要,但如果想用 pm2 现成的的日志机制、重启机制、Cluster 模式甚至 APM,也完全可以用呀。

个人感觉一般情况下对于 Node 技术栈来说在公有云上用容器和虚拟机的区别不大,本身部署就是 0 配置已经非常方便了,拉代码、装包、pm2 启动,就看哪个便宜。
除非严重依赖基于容器的 DevOps 以及 K8s 之类的集群方案。

像 Java Web 之类的可能对环境配置要求比较高的就非常适合用容器,做到开发、测试、上线环境统一。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/595829

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX