大模型流式长链接场景下 k8s 优雅退出 JAVA

一、 java bootstrap.yml  

bootstrap.yml 启动文件增加timeout-per-shutdown-phase 

spring:lifecycle:timeout-per-shutdown-phase: 30m# 这个值是故意设置这么大的,因为现在推理服务支持深度思考# 为了保证用户侧的连接不被断开,因此我们需要设置超大 graceful shutdown 时间# 注意: 为了保证这个值是有效的,需要确保 k8s 中的 terminationGracePeriod 不低于此时间# 否则 k8s 会强制杀死 pod(这个值相当于不生效)# 上线前需要检查 nacos 中是否有这个配置,防止配置被覆盖

timeout-per-shutdown-phase: 

服务主进程优雅退出的时间 默认30s,配置该参数后可以实现如果当前还有未断开的链接那么主进程会在给定的时间后强制退出。

应用场景下:

当程序收到 kill -15的信号java默认timeout-per-shutdown-phase的参数为30s 也就说等待30s后pod内的进程就会自动退出(kill -9)之后就会与上游的服务断开链接,如果上游的服务有复用链接的特性那么会更为明显。届时客户端就会接受到503(服务暂时不可用)的http状态码。

二、k8s yaml 增加配置

        lifecycle:preStop:exec:command:- sh- -c- sleep 70terminationGracePeriodSeconds: 1800

 配置解释:

preStop:

必须配置,否则每次发布k8s的pod进入到Terminating状态后,会立刻删除pod网络相关的配置例如Pod Ip 、路由等

应用场景下: 

配置preStop后pod会进入到Terminating状态同时会从endpointSlice上摘除这个节点,也就意味着该节点不会接收新的流量,但是pod的IP以及网络配置还是存在的因为pod没有进入到回收的阶段还在sleep, 通过preStop钩子 进入到sleep阶段 这个时候就会将已经进入到该pod的请求继续进行处理,不会强制中断和上游的链接


terminationGracePeriodSeconds:

给定pod最大回收的时间,我这里配置了1800s,pod一旦超过了30分钟即使还有未中断的链接(没有处理完的请求) 都会强制被回收。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/91436.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/91436.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uni-app用css编写族谱树家谱树

需求背景:公司接到一个项目,是需要做一个族谱微信小程序,需要有族谱树,且可以添加家族人员。 灵感来源:在插件市场中下载了作者 羊羊不想写代码 的插件tree-list族谱,树形列表,可缩放滑动 - DC…

思途JSP学习 0731

继0730,我们对项目做最后的升级一、删除功能1、新增复选框辅助删除条目的选择修改我们的list.jsp和list.js在列表的第一列增加一列选择框2、给复选框添加全选与行点击选择功能在行选择功能中,因为此时的选择框还未生成,所以我们将事件委托给他…

某讯视频风控参数逆向分析

文章目录1. 写在前面2. 接口分析3. 加密分析4. 扣JS代码【🏠作者主页】:吴秋霖 【💼作者介绍】:擅长爬虫与JS加密逆向分析!Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长期坚守并致力…

[Broken IOS] 配置CLI | 终端用户界面TUI

链接:https://palera.in/ docs:palera1n palera1n 是一款专为 Jailbroken苹果设备 设计的强大工具,支持运行 iOS/iPadOS/tvOS 15.0 及更新系统 的 iPhone、iPad 和 Apple TV。 该工具通过 DFU 模式 下的底层 USB 通信引导设备,…

论文阅读|ArxiV 2024|Mamba进一步研究|VSSD

论文地址:pdf 代码地址:code 文章目录1.研究背景与动机2. 核心方法2.1 预备知识:mamba-ssm2.2 非因果状态空间对偶性2.3 视觉状态空间对偶性模型3. 实验结果3.1 图像分类任务3.2 目标检测任务3.3 语义分割任务3.4 消融实验4.局限性与结论4.1 局限性4.2 结…

Flutter中 Provider 的基础用法超详细讲解(二)之ChangeNotifierProvider

目录 前言 一、什么是ChangeNotifierProvider? 二、ChangeNotifier的简单用法 1.定义状态类 2.使用ChangeNotifierProvider提供状态 3.获取状态并监听更新 1.Consumer 2.通过API方式获取 1.Provider.of (context) 2.context.watch () 3.context.read () 4.各种获…

2025电商CPS分销与推客系统小程序开发:趋势、架构与实战解析

一、行业趋势:CPS模式与社交电商的深度融合1.1 电商行业新趋势根据《2025年电子商务行业发展趋势预测报告》,社交电商与内容营销已成为核心增长点。消费者行为呈现三大特征:消费习惯转变:线上购物占比超70%,Z世代用户更…

Conda环境下配置的基本命令

功能命令创建环境conda create -n myenv python3.11激活环境conda activate myenv删除环境conda env remove -n myenv复制环境conda create -n newenv --clone myenv列出所有环境conda env list列出环境所有包conda list彻底清除某个 Conda 环境中的所有已安装包(但…

Ps2025

快捷键CShs保存CSw存储为S选取叠加选取,A选取减去选区C回车保存路径内容识别 SF5 ADel填充前景色CDel填充背景色A上下 上下行间距A左右 左右字间距C左键丝滑放大缩小CASE盖印图层C}上移一格CG新建组sF6羽化像素钢笔工具打上抹点,按住shift水平拉调增弧度左右两个手柄…

ceph sc 设置文件系统格式化参数

前言 默认的 sc 文件系统 inode 太少,对于小文件场景,往往会出现容量没满,inode 已经用尽的情况,本文说明如何设置 inode。 说明 本文使用的是 rook-ceph 部署的 ceph 作为存储后端。 xfs 文件系统 sc 创建带格式化参数的 xfs 文件系统的 sc allowVolumeExpansion: t…

【LY88】ubuntu下的常用操作

vscode 下载安装包 在安装包所处文件夹空白区域右键调出终端 输入下行命令安装 c后接tab自动补全安装包名称(前提是该文件夹中仅这一个c开头文件,否则得再输点字母,保证其可唯一索引到) sudo dpkg -i ctab安装完毕后输入code&…

web应用从服务器主动推动数据到客户端的方式

html5 websocket 全双工交互 全双工通信:建立持久连接,服务端和客户端可随时互相发送消息 低延迟:适合实时应用(聊天、游戏、股票行情等) socket协议是与HTTP协议平级的,websocket协议是建立在TCP协议之上的…

基于Spring Boot实现中医医学处方管理实践

基于Spring Boot实现中医医学处方管理 以下是基于Spring Boot实现中医医学处方管理的相关示例和资源整理,涵盖基础架构、功能模块及实际应用案例: 基础项目结构 Spring Boot中医处方系统通常采用MVC分层设计: 实体类:定义处方、药材、患者等JPA实体 @Entity public clas…

从“人工核验”到“智能鉴防”:护照鉴伪设备的科技革命

“一本伪造护照的查获成本从72小时降至3秒,背后是光学传感、量子加密与多模态AI的十年协同进化。”2025年全球边检口岸查获伪假护照近500份,其中芯片伪造占比首超40%。当造假技术逼近分子级仿制,传统肉眼鉴别彻底失效,多光谱成像、…

无人机飞控系统3D (C++)实践

大疆无人机飞控系统3D模型开发 大疆无人机飞控系统3D模型开发(C++) 核心架构设计 大疆无人机的飞控系统通常采用分层架构,分为硬件抽象层(HAL)、中间件层和应用层。HAL负责与传感器/执行器直接交互,中间件处理数据融合和通信协议,应用层实现核心控制算法。 典型代码结…

ES6中import与export的用法详解

目录 一、ES6模块化的核心概念 1. 模块化的基本规则 二、export的用法 1. 命名导出(Named Export) 示例: 2. 默认导出(Default Export) 示例: 默认导出函数或类: 3. 导出语句的统一声明…

硬核技术协同:x86 生态、机密计算与云原生等技术如何为产业数字化转型筑底赋能

在产业数字化转型的浪潮中,x86 生态构建、机密计算与 AI 融合、高性能网卡突破、云原生 OS 实践、国产数据库优化等技术领域的突破,正成为支撑数字化基础设施升级与业务创新的核心引擎。以下从技术深度与产业实践角度,系统性解析各领域的最新…

Java项目:基于SSM框架实现的网络财务管理系统【ssm+B/S架构+源码+数据库+毕业论文+远程部署】

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本网络财务管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息…

1.5.Vue v-for 和 指令修饰符

vue v-for当你使用 v-for 指令来渲染列表时,为每个元素提供一个唯一的 key 属性是非常重要的。key 是用来给 Vue 一个提示,以便它能够追踪每个节点的身份,从而更高效地更新虚拟 DOM。key 的作用唯一标识:key 应该是每项数据的唯一…

(RedmiBook)上禁用触摸板或自带键盘

在红米笔记本(RedmiBook)上禁用触摸板或自带键盘,可以通过以下几种方法实现: 方法一:通过设备管理器禁用(Windows 系统) 禁用触摸板 打开设备管理器 按 Win X → 选择 “设备管理器”或 Win …