扫码阅读
手机扫码阅读
spring boot + Eureka如何平滑上下线服务
115 2024-08-07
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
文章来源:
码农周星星
扫码关注公众号
服务平滑上下线摘要
01 - 单机版
当需要部署新服务时,传统的单机JAVA WEB程序会停止当前服务并部署新服务,造成服务不可用的时间窗口。虽然可以通过SLB(服务器负载均衡)将多个服务部署在其下解决这个问题,但仍无法保证所有请求都被完全处理。为此,可以通过监控容器中请求的完成情况来优雅地停止服务。具体操作包括:
- 引入undertow容器pom文件并配置,去掉自带的tomcat容器。
- 增加undertow配置文件和操作程序链类。
- 实现优雅停止核心处理类,确保所有请求在服务停止前被处理。
02 - 微服务版
在微服务环境中,Eureka注册中心的AP模式通过缓存保证服务高可用性,但新服务上下线存在延迟。具体分析如下:
- 服务上线和正常下线通常耗时90秒。
- 异常下线耗时约240秒。
优化方案包括:
- 采用第一点中的undertow容器优雅停止方法。
- 增加eureka client下线接口类,并调整服务过期时间。
- 调整eureka client、server和ribbon的参数来减少缓存时间。
优化后,服务上线和下线时间减少至10秒,异常下线时间减少至130秒。
精彩推荐
- 微信抢红包的原理
- 实战-elasticsearch索引平滑迁移方案
- 微服务相关的武功秘籍系列文章
想要了解更多内容?
文章来源:
码农周星星
扫码关注公众号
码农周星星的其他文章
一次浏览器请求的生命周期
我们经常使用浏览器访问各种资源,那在浏览器输入一个地址,究竟做了哪些事情呢?OSI七层协议有什么作用呢?HTTP协议请求体和返回体有哪些参数需要注意呢?
程序猿生活-五维能力模型
这篇文章主要通过自己总结作为程序猿比较重要的五维能力模型来分析程序猿求职、工作、学习中遇见的一些困惑应该如何去选择,成就最想要的自己。
k8s + spring boot + Eureka如何平滑上下线服务
上篇介绍了springboot+Euraka服务平滑上下线的方式,有部分小伙伴反馈k8s环境下有一些办法也可以解决这个平滑过度问题,为了解决这个问题,研究了一下目前我这边服务上k8s平滑过度的方案,分享给大家
系统架构设计师32小时通关笔记:四、信息系统基础知识
第四章主要介绍信息系统基础知识,从概述、总体规划和典型应用三个方面来介绍。
武功秘籍之熔断与降级
“ 什么是熔断、降级?为什么要做熔断、降级?spring cloud体系下熔断降级是如何设计实现的?”熔断与
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设
白皮书上线