V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Hanggi
V2EX  ›  Node.js

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

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

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

    像 Java Web 之类的可能对环境配置要求比较高的就非常适合用容器,做到开发、测试、上线环境统一。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3489 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 10:59 · PVG 18:59 · LAX 03:59 · JFK 06:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.