当前位置: 首页 > news >正文

spring cloud gateway k8s优雅启停

通过配置readiness探针和preStop hook,实现优雅启动和停止(滚动部署)

1. k8s工作负载配置

          readinessProbe:httpGet:path: /datetimeport: 8080scheme: HTTPinitialDelaySeconds: 30timeoutSeconds: 1periodSeconds: 30successThreshold: 1failureThreshold: 6lifecycle:preStop:exec:command:- /bin/sh- '-c'- sleep 15s

2. 网关改造

@SpringBootApplication
public class GracefulShutdownApplication {public static void main(String[] args) {SpringApplication.run(GracefulShutdownApplication.class, args);}@Beanpublic GracefulShutdown gracefulShutdown() {return new GracefulShutdown();}
}
public class GracefulShutdown implements ApplicationListener<ContextClosedEvent> {@Overridepublic void onApplicationEvent(ContextClosedEvent contextClosedEvent) {HttpResources.disposeLoopsAndConnectionsLater().delaySubscription(Duration.ofSeconds(20)).block();}
}

经过测试发现,可以实现请求0失败

相关文章:

  • (C语言)球球大作战
  • 十、C#基数排序算法
  • 实时数仓之实时数仓架构(Doris)
  • Svg Flow Editor 原生svg流程图编辑器(三)
  • Java安全 反序列化(4) CC1链-LazyMap版
  • LLM - 大语言模型的分布式训练 概述
  • 如何关闭路由器的5G Wi-Fi
  • 【呼市经开区建设服务项目水、电能耗监测 数采案例】
  • C语言:自定义类型:结构体
  • Autosar的前世今生:E2E通信校验
  • elementUI(Vue2)和elementPlus(Vue3)图标icon差异
  • VB.NET 中的异常处理机制是什么?请提供简单的异常处理示例
  • OpenLayers基础教程——使用WebGL加载海量数据(1)
  • Docker学习笔记 - 使用配置脚本来启动image
  • golang常用库之-golang常用库之-ladon包 | 基于策略的访问控制
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • Android框架之Volley
  • CentOS6 编译安装 redis-3.2.3
  • JavaScript DOM 10 - 滚动
  • Ruby 2.x 源代码分析:扩展 概述
  • Spring Boot快速入门(一):Hello Spring Boot
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • 缓存与缓冲
  • 解析带emoji和链接的聊天系统消息
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 我感觉这是史上最牛的防sql注入方法类
  • hi-nginx-1.3.4编译安装
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (C++17) optional的使用
  • (TOJ2804)Even? Odd?
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (附源码)计算机毕业设计大学生兼职系统
  • (黑马C++)L06 重载与继承
  • (强烈推荐)移动端音视频从零到上手(上)
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .Net IE10 _doPostBack 未定义
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)
  • @RestController注解的使用
  • @SuppressWarnings注解
  • @Valid和@NotNull字段校验使用
  • [ C++ ] STL_stack(栈)queue(队列)使用及其重要接口模拟实现
  • [100天算法】-实现 strStr()(day 52)
  • [20150321]索引空块的问题.txt
  • [Android]RecyclerView添加HeaderView出现宽度问题
  • [Angular] 笔记 7:模块
  • [C# 开发技巧]实现属于自己的截图工具
  • [C#]winform利用seetaface6实现C#人脸检测活体检测口罩检测年龄预测性别判断眼睛状态检测
  • [C/C++]数据结构 循环队列
  • [CareerCup] 13.1 Print Last K Lines 打印最后K行