[後端] Node.js穩定性實踐

基於阿里雲的 Node.js 穩定性實踐
https://segmentfault.com/a/1190000020753827

uncaughtException: 當異常拋出未被捕獲時,會觸發 uncaughtException 事件。只要監聽了 uncaughtException 事件並設置了回檔,Node 進程就不會異常退出。

process.on('uncaughtException', function(err) {
    console.error(err);
});

這時異常的上下文會丟失(respond 物件),無法給使用者友好的返回,而且由於uncaughtException 事件發生後,會丟失當前環境的堆疊,可能導致 Node 不能正常進行記憶體回收,從而導致記憶體洩露。

因此,使用 uncaughtException 的正確做法一般是,當 uncaughtException 發生時,記錄詳細的日誌,然後結束進程,通過日誌和報警來及時的定位和排查問題。


#Node.js, uncaughtException, 錯誤, 日誌, 穩定, 監控, 指標, 性能, 警示

留言