iT邦幫忙

2022 iThome 鐵人賽

DAY 5
0
Modern Web

身為 Node.js 開發者,可以知道一下的事系列 第 5

[Day 5] 用 PM2 無痛啟動 multi-process

  • 分享至 

  • xImage
  •  

PM2 是個在 nodejs 生態系中十分常被使用的工具,他可以用來啟動、管理你的 processes,並且做 auto startup 的設定,並且可以配合 docker container 做使用,十分的方便。
可以想像成,PM2 可以幫助我們啟動 web 服務,並且比起直接透過 node 或 nodemon 啟動,更加穩定及高效能。


昨天提到了 cluster,幫助我們創建多個 process 來充分利用 CPU 資源。
但在生產環境 PM2 是個十分常被使用的替代方案,因為他有以下的好處:

  • 如果是無狀態(Stateless)的應用,可以無痛的將一個 node 程式以 cluter mode 的方式做執行,而不需要修改任何程式碼,邏輯上也可以更專注在單一個 instance 該做的事情上。
  • 經過設定檔及 pm2 的 cli 工具,可以更容易的管理 processes。
  • 第三點也是最重要的,PM2 可以幫助保持 process 活著。一般來說來講,process 會在 error 時被終止,除非有使用 try...catch 做 error handler,不然 process 會被迫中止,PM2 可以避免這種狀況來避免服務中斷。

如何使用

官方文件中有快速開始的教學,建議配合閱讀實作,使用上十分簡單。
https://pm2.keymetrics.io/docs/usage/quick-start/

本文就不多做教學了,這部分有很多資源,都整理得很好,官方文件也十分清楚。


PM2 是個很好用的工具,像這種好用有趣的資源充斥著整個生態系,這就是 Javascript 有趣的地方,但今天我要如何找到自己需要的套件跟工具呢?
明天我們來分享。


上一篇
[Day 4] 用 Cluster 創建多個 Process
下一篇
[Day 6] 如何了解 JS 及 Node 生態系
系列文
身為 Node.js 開發者,可以知道一下的事9
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言