簡體   English   中英

在 Node.js 中編寫 API 有風險嗎?

[英]Is it risky to write APIs in Node.js?

我喜歡 Node.js 有幾個原因,並建議我的公司使用它編寫部分 API。 然而,團隊中的一些成員反對這個想法,指出由於其單線程性質,風險太大。 例如,有人指出,代碼中的一個錯誤(如未捕獲的異常)可能會導致整個系統崩潰。

我該如何回應這個論點?

雖然未捕獲的異常可能導致整個系統崩潰,但有一些工具,如PM2Forever可用於在異常時自動重新啟動服務器,您可以使用 PM2 連接到事件系統,讓它做任何你想做的事——發送電子郵件等

理想情況下,您應該努力生成穩定的代碼,但是可能會發生不可預見的異常 - 因為這個 PM2/forever 是穩定服務的關鍵。

首先,崩潰或錯誤並不壞。 您肯定希望在開發過程中盡可能早地崩潰以使產品穩定。 使崩潰變得良好的是能夠輕松重現和調查它。

我發現在多線程環境中編寫代碼更具挑戰性,因為與應用程序大小成比例的錯誤越來越難以重現。 查看為此類應用程序編寫有效的跟蹤和錯誤記錄支持,您會欣賞單線程編程提供的簡單性。

單線程特性使 NodeJS 更擅長編寫可預測和穩定的代碼。 對於生產,如果您不想一直崩潰到終端,您可以通過處理一些事件輕松控制它。

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

只需將此添加到您的代碼中,當您遇到未捕獲的異常時,您的進程就不會崩潰。

您可以使用 Forever、PM2 或 strongloop 自動重啟您的流程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM