健康检查和优雅停机
优雅停机
当您部署应用程序的新版本时,必须替换之前的版本。您正在使用的进程管理器将首先向应用程序发送一个 SIGTERM 信号,通知它将被终止。一旦应用程序收到此信号,它应停止接受新请求,完成所有正在进行的请求,清理其使用的资源,包括数据库连接和文件锁,然后退出。
示例
const server = app.listen(port)
process.on('SIGTERM', () => {
debug('SIGTERM signal received: closing HTTP server')
server.close(() => {
debug('HTTP server closed')
})
})
健康检查
负载均衡器使用健康检查来确定应用程序实例是否健康并可以接受请求。例如,Kubernetes 有两种健康检查
liveness
,它决定何时重启容器。readiness
,它决定容器何时准备好开始接受流量。当 Pod 未准备好时,它将从服务负载均衡器中移除。