【Springboot】Springboot如何优雅停机?K8S中Pod如何优雅停机?

2023-09-18 11:06:19

什么是优雅停机:

就是对应用进程发送停止指令之后,执行的一系列保证应用正常关闭的操作。这些操作往往包括等待已有请求执行完成、关闭线程、关闭连接和释放资源等
就是对应用进程发送停止指令之后,能保证正在执行的业务操作不受影响,可以继续完成已有请求的处理,但是停止接受新请求
本质上是JVM即将关闭前执行的一些额外的处理代码
可以避免非正常关闭程序可能造成数据异常或丢失,应用异常等问题
优雅停机主要处理:

池化资源的释放:数据库连接池,HTTP 连接池,线程池
在处理线程的释放:已经被连接的HTTP请求
mq消费者的处理:正在处理的消息
隐形受影响的资源的处理:Zookeeper、Nacos实例下线等
未优雅停机:

当我们停止正在运行的应用程序或进程时,底层操作系统会向进程发送终止信号。在没有启用任何优雅关闭机制的情况下(如:kill -9),Spring Boot 应用程序将在收到信号后立即终止。

此时一些没有执行完的程序就会直接退出,可能导致业务逻辑执行失败,在一些业务场景下:会出现数据不一致的情况,事务逻辑不会回滚。

优雅停机使用场景: 

一个基于springboot的服务,服务从网络接收请求,再把请求任务放入队列里交给线程池取异步消费请求任务。怎么样停止服务才能保证任务队列里的请求都处理完成了呢?

参考资料

Spring——项目优雅停机_springboot优雅停机_程序员小玖的博客-CSDN博客

SpringBoot 优雅停止服务的几种方法 - 第309篇_51CTO博客_springboot启动和停止服务

Kubernetes Pod的创建过程与删除过程_果果的技术博客_51CTO博客

https://www.cnblogs.com/cuishuai/p/14859182.html

Kubernetes:SpringBoot Pod的优雅关机 - 知乎

更多推荐

【大规模 MIMO 检测】基于ADMM的大型MU-MIMO无穷大范数检测研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。⛳️座右铭:行百里者,半于九十。📋📋📋本文目录如下:🎁🎁🎁目录💥1概述📚2运行结果🎉3参考文献🌈4Matlab代码实现💥1概述针对大型多用户(MU)多输入多输出(MIMO)无线

MATLAB的输入与输出函数

标题输入:input()1.输入单个数值2.输入字符串3.输入以空格隔开的一行数值4.输入以空格与换行符隔开的多行数值输出1.disp()(1)输出单个数值(2)输出一维数组(3)输出矩阵(4)输出字符串2.fprintf()(1)输出格式化的单个数值(2)输出格式化的一维数组(3)输出格式化的矩阵(4)输出格式化的字

PostgreSQL 数据类型

文章目录PostgreSQL数据类型说明PostgreSQL数据类型使用单引号和双引号数据类型转换布尔类型数值类型整型浮点型序列数值的常见操作字符串类型日期类型枚举类型IP类型JSON&JSONB类型复合类型数组类型PostgreSQL数据类型说明PGSQL支持的类型特别丰富,大多数的类型和MySQL都有对应的关系名称

参议院算法Java

Dota2的世界里有两个阵营:Radiant(天辉)和Dire(夜魇)Dota2参议院由来自两派的参议员组成。现在参议院希望对一个Dota2游戏里的改变作出决定,他们以一个基于轮为过程的投票进行。在每一轮中,每一位参议员都可以行使两项权利中的一项:禁止一名参议员的权利:参议员可以让另一位参议员在这一轮和随后的几轮中丧失

邓俊辉《数据结构》→ “2.6.5 二分查找(版本A)”之“成功查找长度”递推式推导

【问题描述】邓俊辉的《数据结构(C++语言版)(第3版)》(ISBN:9787302330646)中,开始于第48页的“2.6.5二分查找(版本A)”内容在第50页详述了“成功查找长度”的递推式,但此递推式乍一看令人费解。故为了说明问题,进行一些约定并详述如下:●既然是二分查找,所以给定的序列必定是有序的。●不失一般性

SmartNews 基于 Flink 的 Iceberg 实时数据湖实践

摘要:本文整理自SmartNews数据平台架构师ApacheIcebergContributor戢清雨,在FlinkForwardAsia2022实时湖仓专场的分享。本篇内容主要分为五个部分:SmartNews数据湖介绍基于Icebergv1格式的数据湖实践基于Flink实时更新的数据湖(Icebergv2)解决方案实

浅谈霍尔电流传感器在汽车电池管理系统中的应用

摘要:随着电动汽车和混合动力汽车的需求和产量正在增加,两种类型的车辆都需要高电流容量的电池来运行50kW或更高功率的电机,并且这些都使用高压系统。汽车电池管理系统中对于电流的测量检测需要隔离测量的方式,而霍尔电流传感器是隔离测量,所以霍尔电流传感器适用于该应用场景。关键词:电动汽车;混合动力汽车;电池管理系统;霍尔电流

Go语言基础-基础语法

前言:\textcolor{Green}{前言:}前言:💞这个专栏就专门来记录一下寒假参加的第五期字节跳动训练营💞从这个专栏里面可以迅速获得Go的知识本文主要是根据今天所学(链接放在了最后)总结记录的笔记。主要内容包括学习准备(环境安装等)以及go语言的基础语法总结,其中有一些自己的想法,如果大家想与我交流共同进步

贝叶斯神经网络 BBB 学习中遇到的一些问题

这里写目录标题贝叶斯公式模型概率的公式1/n形式的贝叶斯公式全概率公式全概率公式的积分形式后验推理后验预测分布posteriorpredictivedistributionKL散度平均场VIBayesbyBackprop代码重新参数化贝叶斯公式模型概率的公式一开始看了这个https://zhuanlan.zhihu.c

AI创作专家,免费的AI创作专家工具

AI创作专家是一种崭新的工具,它们利用先进的人工智能技术,帮助创作者和写手更轻松地应对创作挑战。这些工具不仅可以生成文字,还可以提供灵感、帮助构思和组织思路,使创作过程更加高效。147GPT批量文章生成工具​www.147seo.com/post/2801.html​编辑https://link.zhihu.com/?

天猫商品详情数据采集

天猫商品详情数据采集方法有很多种,可以从商品详情页采集,也可以从PC端的ajax采集,也可以从开放平台的API采集。不同的来源有不同的数据结构,可以收集的信息也不同。天猫开放平台的API目前申请淘客API权限相对容易,淘客权限API能够收集到的信息非常少。如果从网页或者ajax采集,就要考虑采集的频率,容易触发反采集机

热文推荐