提升 Node.js(或 Kubernetes Node 节点,视语境;下面以Node.js 服务运行稳定性为主,并补充K8s Node 节点要点)的运行稳定性,可以从代码、进程管理、资源、监控、架构几个层面入手。
process.on('uncaughtException', err => {
console.error('uncaughtException', err);
// 记录日志后退出
process.exit(1);
});
process.on('unhandledRejection', err => {
console.error('unhandledRejection', err);
});
try/catch + async/await.catchpm2 start app.js --name my-app
pm2 startup
pm2 save
特性:
或用 systemd / docker restart=always
node --inspect
heapdump clinics.jsnode --max-old-space-size=1024axios({ timeout: 3000 })
FROM node:18-alpine
resources:
limits:
memory: 512Mi
cpu: "1"
cluster 模式const cluster = require('cluster');
pm2 start app.js -i max
process.on('SIGTERM', () => {
server.close(() => process.exit(0));
});
如果是 K8s Node:
稳定 = 不崩 + 崩了能恢复 + 出问题看得见
如果你能补充说明:
我可以给你更针对性的方案。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。