pm2与go的完美结合(转)

转自:https://cnodejs.org/topic/5b433f8513ca2fe569fb9225

 

最近用go语言重写了一个node的小项目,因为并发量大到两台node也只能勉强扛住的地步,顺便说一下,pm2的cluster模式在极高的并发量下其实不行,不知道为什么,后来用fork模式+node原生的cluster模块才搞定。 因为go重写的版本匆忙上线,测试时我居然用的是screen在后台跑。看了beego关于supervisor部署的介绍,感觉那不是我想要的东西,因为我觉得pm2应该也有这样的功能,于是去查了文档,果然有,测试跑了几天,完全没有问题。配置很简单,与node完美并存

$ cat pm2.config.js 
module.exports = {
    apps: [
        {
            name: "goapp",
            script: "./config.product.json",   // script当成配置文件,在go中通过os.Args[1]获取到
            instances: 1,
            exec_mode: "fork",    // 一定要是fork
            interpreter: "./main",   // windows下加.exe
            env: {              // 环境变量
                myenv: "product",
            },
        }
    ]
}

posted on 2018-10-31 17:24  &大飞  阅读(602)  评论(0编辑  收藏  举报

导航