gpt4 book ai didi

node.js - 防止 Node.js 生产服务器因未知和未处理的异常而崩溃的最佳实践

转载 作者:搜寻专家 更新时间:2023-11-01 00:23:25 24 4
gpt4 key购买 nike

防止 Node.js 生产服务器因未知和未处理的异常而崩溃的最佳做法是什么?

最佳答案

如今,“快速失败”的心态风靡一时。你不能阻止它崩溃......你让它崩溃然后有逻辑记录错误,通过电子邮件或文本通知你然后优雅地恢复。以下是我的做法:

使用 systemd 部署( Upstart 也可以,但正在失宠)。确保在您的 .system 文件中有重启逻辑。将您的 Node 程序部署为 Docker 容器。当它失败时,容器将退出,systemd 将注意到它并重新启动。我还使用日志记录即服务,这样我就可以拥有所有的日志。最后,我们使用警报机制(nagios、stackdriver,还有很多其他的机制)所以我​​们知道什么时候出现故障。

您要求提供最佳实践,而这正是现在很多人正在做的事情。但它很贵。如果您没有任何金钱、时间或程序员来做这些事情,您将需要妥协。

不过,我不会在其中一些方面妥协:

  1. 记录失败。大多数 SaaS 日志记录公司都有免费计划,因此请使用它。

  2. 监视您的进程并重新启动它的东西。在操作系统级别,Upstart 和 Systemd 相当容易配置。但如果你不能,至少使用 Node 的“永远”包。

如果你不能像上面那样做任何事情并且真的触及了桶底,请将它放在你的 Node 应用程序的入口点:

process.on('uncaughtException', function(err) {
//do something here
});

但实际上,您想从失败中恢复过来,从中吸取教训,修复错误,这将使您的软件更强大。

关于node.js - 防止 Node.js 生产服务器因未知和未处理的异常而崩溃的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32907212/

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