【每日一題NO.67】說下你對PM2的理解

話說,這是我攜程面試遇到的真題呀……太難了啊。
pm2
pm2官網(wǎng)[1]

pm2 是一個帶有負(fù)載均衡功能的 node 應(yīng)用的進(jìn)程管理器。
我們都知道 node.js 是單進(jìn)程執(zhí)行的,當(dāng)程序因出現(xiàn)錯誤而死掉之后需要能夠自動重啟,這時候就需要 pm2 了。
其他進(jìn)程管理工具如 forever 等。
主要特性
啟動多子進(jìn)程,充分使用 CPU 子進(jìn)程之間負(fù)載均衡 0 秒重啟 界面友好 提供進(jìn)程交互接口
他是依據(jù)什么重啟服務(wù)的?
pm2 采用 心跳檢測 查看子進(jìn)程是否處于活躍狀態(tài):
每隔數(shù)秒向子進(jìn)程發(fā)送心跳包,子進(jìn)程如果不回復(fù),那么調(diào)用 kill 殺死這個進(jìn)程,然后再重新 cluster.fork() 一個新的進(jìn)程。
子進(jìn)程可以監(jiān)聽到錯誤事件,這個時候可以發(fā)送消息給主進(jìn)程,請求殺死自己,并且主進(jìn)程此時重新調(diào)用 cluster.fork() 一個新的子進(jìn)程。
擁有的能力
日志管理:有兩種日志,pm2系統(tǒng)日志與管理的進(jìn)程日志,默認(rèn)會把進(jìn)程的控制臺輸出記錄到日志。負(fù)載均衡:pm2可以通過創(chuàng)建共享同一服務(wù)器端口的多個子進(jìn)程來擴(kuò)展你的應(yīng)用程序。這樣做還允許以零秒停機(jī)時間重新啟動應(yīng)用程序。終端監(jiān)控:可以在終端中監(jiān)控應(yīng)用程序并檢查應(yīng)用程序運(yùn)行狀況(如:CPU使用率、使用的內(nèi)存、請求分鐘數(shù)等等)。SSH 部署:自動部署,避免逐個在所有服務(wù)器中進(jìn)行ssh。靜態(tài)服務(wù):支持靜態(tài)服務(wù)器功能。支持 開發(fā)調(diào)試模式:非后臺運(yùn)行,執(zhí)行pm2-dev[2]命令:pm2-dev start app.js
常用命令
啟動服務(wù)
啟動指定應(yīng)用
pm2?start?
色老板在线最新地址
|
日本色电影网站
|
一级操逼图
|
国产精品无码一区二区三区免费
|
伊人激情综合
|
