使用 Node.js 搭建 HTTP Server 已是司空見慣的事。在生產(chǎn)環(huán)境中,Node 進程平滑重啟直接關(guān)系到服務的可靠性,它的重要性不容我們忽視。既然是平滑重啟,就涉及到新舊進程的接替過渡:
本文主要談論下,在新舊進程接替過渡期間,如何保證舊進程平滑離場。那怎樣的離場才算平滑的呢?
如何定義平滑離場
以進程離場作為時間分割點,我們可以把請求分為兩類:增量請求
和存量請求
。
增量
)請求存量
)請求正常響應所以,達成以上兩個目標,基本上我們就認為進程的離場是平滑的。在談如何做到進程平滑離場前,我們需要一種機制,這種機制能讓我們主動通知進程何時離場,這就涉及到進程間通信(IPC)的知識了,我們先簡單了解下。
進程間通信
對 Unix 或類 Unix 系統(tǒng)而言,進程間通信的方式有很多種 —— 信號(Signal)是其中的一種。
信號的種類有很多,如 SIGINT、 SIGTERM
及 SIGKILL
等。這些信號視具體需要用于不同的場景,比如 SIGKILL
一般用于強殺進程。
我們可以在命令行執(zhí)行 kill -l
查看所有的信號,如下所示(其中的數(shù)字表示 signal number
):
$ kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGEMT 8) SIGFPE 9) SIGKILL 10) SIGBUS 11) SIGSEGV 12) SIGSYS 13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGURG 17) SIGSTOP 18) SIGTSTP 19) SIGCONT 20) SIGCHLD 21) SIGTTIN 22) SIGTTOU 23) SIGIO 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGINFO 30) SIGUSR1 31) SIGUSR2
文章題目:Node.js進程平滑離場剖析小結(jié)-創(chuàng)新互聯(lián)
當前路徑:http://www.chinadenli.net/article48/dceghp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設、網(wǎng)站策劃、網(wǎng)站設計、虛擬主機、微信公眾號、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容