优雅关闭 是指服务器在收到终止信号时以干净的方式停止 — 完成飞行中的请求、关闭连接 (DB 等) 并释放资源 — 而不是突然杀死它并丢弃活动工作。这对于零停机部署和可靠性至关重要。
为什么突然关闭是个问题
text
Without graceful shutdown, when the process is killed (deploy, scale-down, crash):
✗ In-flight requests are dropped → users get errors
✗ DB transactions left incomplete
✗ Connections not closed cleanly → leaks/locks
在部署和自动扩展期间,进程不断被停止 — 以干净的方式进行这一操作是使部署无缝的原因。
实现
js
http ;
server = http.(app);
server.();
() {
.();
server.( () => {
db.();
redis.();
.();
process.();
});
( {
.();
process.();
}, ).();
}
process.(, ());
process.(, ());
