我正在使用Node + Mongo + Express創建REST API。有些情況下節點服務器崩潰,我必須重新啓動它。我永遠用來做重啓的東西。但我無法找到崩潰過程中丟失的過程的解決方案。節點網絡服務器崩潰
例如:我正在處理10個http請求,並且我的節點服務器因任何請求而崩潰。在這種情況下,其他9個運行請求將會丟失。
是否有任何回退機制來防止這種情況?
我正在使用Node + Mongo + Express創建REST API。有些情況下節點服務器崩潰,我必須重新啓動它。我永遠用來做重啓的東西。但我無法找到崩潰過程中丟失的過程的解決方案。節點網絡服務器崩潰
例如:我正在處理10個http請求,並且我的節點服務器因任何請求而崩潰。在這種情況下,其他9個運行請求將會丟失。
是否有任何回退機制來防止這種情況?
我現在最近看到的是一個NodeJS集羣,我相信主人將處理他的一個孩子的崩潰並移動http請求,但是,如果這不起作用,那麼使用nginx和一些節點進程在同一時間,它會處理那種事情
希望它可以幫助你。
如果存在未處理的異常,服務器將崩潰,因此您需要使用try
catch
將錯誤處理添加到您的函數。有幾個事件發送給過程對象,可以幫助您解決問題。你可以嘗試聽取uncaughtException,然後按照這裏提到的策略:http://blog.argteam.com/coding/hardening-node-js-for-production-part-3-zero-downtime-deployments-with-nginx/,只需替換'SIGTERM'即可。
我同意你的觀點,但真正的問題是在同一節點上保存其他正在運行的進程。 如果節點服務器關閉,我們可以重定向其他(新)請求,但運行請求又如何? –