gpt4 book ai didi

javascript - 大型应用程序的 Node.js 可靠性

转载 作者:IT老高 更新时间:2023-10-28 21:56:13 27 4
gpt4 key购买 nike

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

根据我目前看到的情况,似乎存在一个重大缺陷:任何 Uncaught Error /异常都会导致服务器崩溃。当然,您可以尝试对您的代码进行防弹或将 try/catch 放在关键区域,但几乎总会有漏洞从裂缝中溜走。如果一个有问题的请求会影响所有其他请求,这似乎很危险。我发现了两种解决方法:

  1. 使用守护进程或模块,如 forever当服务器崩溃时自动重启服务器。我不喜欢的是服务器仍然关闭了一两秒(对于大型网站,这可能是成百上千的请求)。

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

任何 Node.js 资深人士都可以参与吗?

最佳答案

对于自动重启和负载平衡,我建议您查看 Learnboost's up平衡器。

它允许您在负载均衡器后面重新加载工作器,而不会丢弃任何请求。它停止将新请求定向到工作线程,但对于已经在处理的现有请求,它提供 workerTimeout 宽限期以等待请求完成,然后才真正关闭进程。

您可以调整此策略,使其也由 uncaughtException 事件触发。

关于javascript - 大型应用程序的 Node.js 可靠性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9558360/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com