优雅停机(Graceful Shutdown)是指在服务器需要关闭或重启时,能够先处理完当前正在进行的请求,然后再停止服务的操作。
优雅停机的实现步骤主要分为以下几步:
- 停止接收新的请求:首先,系统会停止接受新的请求,这样就不会有新的任务被添加到任务队列中。
- 处理当前请求:系统会继续处理当前已经在处理中的请求,确保这些请求能够正常完成。这通常涉及到等待正在执行的任务完成,如处理HTTP请求、数据库操作等。
- 释放资源:在请求处理完成后,系统会释放所有已分配的资源,如关闭数据库连接、断开网络连接等。
- 关闭服务:最后,当所有请求都处理完毕且资源都已释放后,系统会安全地关闭服务。
1.SpringBoot如何实现优雅停机?
优雅停机的实现步骤分为以下两步:
- 使用合理的 kill 命令,给 Spring Boot 项目发送优雅停机指令。
- 开启 Spring Boot 优雅停机/自定义 Spring Boot 优雅停机的实现。
2.合理杀死进程
在 Linux 中 kill 杀死进程的常用命令有以下这些:
- kill -2 pid:向指定 pid 发送 SIGINT 中断信号,等同于 ctrl+c。也就说,不仅当前进程会收到该信号,而且它的子进程也会收到终止的命令。
- kill -9 pid:向指定 pid 发送