Node.js适用于大型应用程序

pix*_*eak 36 javascript node.js

我是Node.js的新手,目前正在质疑它的可靠性.

基于我到目前为止看到的,似乎存在一个重大缺陷:任何未捕获的错误/异常都会导致服务器崩溃.当然,您可以尝试对代码进行防弹或在关键区域放置try/catch,但几乎总会有漏洞漏掉.如果一个有问题的请求可能影响所有其他请求,这似乎很危险.我发现有2种解决方法:

  1. 使用守护程序或永久模块在崩溃时自动重启服务器.我不喜欢的事情是服务器仍然停机一两秒(对于一个大型站点,可能是数百(数千?)的请求).

  2. 使用捕获未捕获的异常process.on('uncaughtException').这种方法的问题(据我所知)是没有办法获得引起异常的请求的引用.因此,特定请求被挂起(用户看到加载指示符直到超时).但至少在这种情况下,仍然可以处理其他无问题的请求.

任何Node.js老手都能投入吗?

dru*_*dru 1

异常不会导致服务器崩溃,它们会引发异常。

如果 Node.js 中的错误导致整个流程瘫痪,那就是另一回事了。

最好的选择(任何技术都应该这样做)就是尽快用您的应用程序对其进行测试,看看它是否适合。