后端服务之应用预热 | 京东云技术团队
一 背景
C端服务应用升级和重启,导致耗时瞬时抖动,业务超时,应用监控报警,上游感知明显,导致用户体验变差。
二 应用升级重启导致抖动的原因
1 C端服务应用升级和重启的冷启动阶段,它需要重新加载和初始化各种资源,例如数据库连接、缓存数据等,导致耗时瞬时飙升。
2 应用重启后,本地缓存失效,应用需要重新加载数据,导致耗时变长。
3 应用重启后,有大量请求堆积,导致系统负载增加,线程处理不及时,导致系统响应变慢。
三 解决方案
1 停服时,先下线JSF接口,再升级应用,待应用启动成功后,JSF服务接口延迟注册到注册中心。
2 JSF开启预热功能,是服务提供者重启后,JSF上线后,消费者与服务者建立链接后,调用方客户端先放设置比例的小部分流量过来到升级重启的实例,在预热周期内,逐步到100%
3 在应用升级流程编排中,结合流量回放,编排流程,在流量回放后再操作JSF上线,实现略复杂,依赖基础运维
方案1,方案2实现简单,预热效果也比较好,使用的是JSF的预热功能,以下效果对比的实现来自方案2的JSF预热功能。
四 采用JSF开启预热功能效果对比
1 服务提供者配置预热周期
预热初始权重:consumer连接到provider后,provider的初始权重(provider端权重会在预热周期内会逐渐恢复到正常权重,一般是100)
2 未开启预热容器实例整体升级重启监控:
应用部署在3个机房,所以看到3次抖动,可以看到TP999最高的机房达到了近25s。
开启预热后整体实例升级重启效果:
应用部署在3个机房,所以看到3次抖动,可以看到TP999最高的机房降到了2.5s,降幅达10倍。
3 未开启预热,单实例应用重启监控
max达到了20s,TP999到达了18s
开启预热后,单实例应用重启监控
max降到了2s,TP999将到了1.5s左右,降幅达10倍,TPS在配置的预热周期内(60s)呈现线性增长
五 注意事项
依赖服务调用方升级JSF到1.7.6版本及以上,推动所有调用方升级JSF
可根据应用的启动时间和特性,调整应用匹配的预热周期,达到相对预热效果最好的状态。至于是否有必要结合流量回放和流程编排实现预热,需结合自己的业务情况和实现成本考虑。
作者:京东科技 张石磊
来源:京东云开发者社区 转载请注明来源

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
一文浅谈Mockito使用 | 京东云技术团队
一、前期准备~ 1、准备工作 <!--mockito依赖--> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>2.7.19</version> <scope>test</scope> </dependency> <!-- junit依赖 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> 2、入门知识 1)Mockito:简单轻量级的做mocking测试的框架;...
- 下一篇
实时数仓 Hologres:推出计算组实例/支持JSON数据/向量计算+大模型等新能力
阿里云ODPS系列产品以MaxCompute、DataWorks、Hologres为核心,致力于解决用户多元化数据的计算需求问题,实现存储、调度、元数据管理上的一体化架构融合,支撑交通、金融、科研、等多场景数据的高效处理,是目前国内最早自研、应用最为广泛的一体化大数据平台。 本期将重点介绍 Hologres推出计算组实例 Hologres支持JSON数据 Hologres向量计算+大模型能力 Hologres数据同步新能力 Hologres数据分层存储 新功能—Hologres推出计算组实例 计算组实例支持将计算资源分解为不同的计算组,更好的服务于高可用部署。 应用场景: 资源隔离:针对不同企业场景间相互影响带来查询抖动,例如写写之间、读写之间、大小查询间的相互影响,以及在线服务、多维分析、即席分析等之间的相互影响;某些大数据引擎并不是存算分离架构通过复制多副本去实现隔离等高成本业务场景。 高可用能力:针对无服务级高可用、 容灾和多活的方案,企业通过双/多链路来实现高可用、容灾和多活,其中涉及人力、计算资源等高成本业务场景。 灵活扩缩容 :针对企业对业务灵活能力的高诉求:业务流量突然增...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS关闭SELinux安全模块
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址