pm2與go的完美結合

zengming00發表於2018-07-09

最近用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",
            },
        }
    ]
}

相關文章