基于SpringBoot的算法微服务,通常在启动阶段加载算法模型。但因为业务上,模型大小和数量是动态的,因此这一过程短则1分钟,长则5+分钟。在启动时加载导致的启动时间过长,会影响服务自身的监控告警、健康检测。

那么,理想的方式是先将服务启动,然后再加载算法模型。为此,我需要一个由SpringBoot提供的观察者模式的事件,在服务自身启动后触发。

修改前后的代码示例如下:

@Service
@Log4j2
public class QasEngine {@PostConstructpublic void bootstrap() {//获取元数据//加载算法模型}
}
@Service
@Log4j2
public class QasEngine implements ApplicationListener<ApplicationReadyEvent> {@PostConstructpublic void bootstrap() {//获取元数据}@Overridepublic void onApplicationEvent(ApplicationReadyEvent event) {//加载算法模型//懒加载其他类型的服务}
}

需要注意的是,如果你的业务存在HSF、MetaQ等服务,请延迟启动这些服务,直至算法模型加载完毕。

延迟加载算法微服务的模型相关推荐

  1. 13 | 代码模型(上):如何使用DDD设计微服务代码模型

    13 | 代码模型(上):如何使用DDD设计微服务代码模型 Reference DDD实战课

  2. 字节跳动社招5面(已拿offer):算法+微服务+多线程+JVM+数据库

    前言 字节跳动在图文.视频.问答.图片等领域连续发力,产品矩阵包括今日头条.抖音短视频.西瓜视频.懂车帝.GoGoKid英语.皮皮虾.Faceu激萌.轻颜相机等多款产品,以及AI教育产品.企业SaaS ...

  3. 基于微服务成熟度模型的高可用优化实践

    前言 随着微服务的流行,每个互联网公司后台都有无数大大小小的服务,服务与服务之间又有着千丝万缕的调用关系.要保证整个微服务系统的成熟稳定,就必须保证每个微服务的成熟度.但如何来定义服务的成熟度?应该从 ...

  4. DataFun: 微信NLP算法微服务治理

    管理问题 性能问题 PyInter:暂未开源,有开源打算 调度问题 P50: 响应的中位数 P999:耗时最慢的千分之一 让p999下降为p50的1.5倍

  5. .net core 微服务之模型表字段动态扩展二——EF core的属性包支持

    今天学到了一个视角,叫做读者视角--从情商角度看就是换位思考.当我在写文章的时候,可能仅仅站在我的角度看待这个写的动作.那我就怎么写的爽怎么来,什么用词用字就按自己的习惯来书写,文章的深浅随心,反正我 ...

  6. 微服务的几种负载均衡算法

    目录 一.负载均衡 二.负载均衡算法 1.静态负载均衡 2.动态负载均衡 三.Dubbo负载均衡的四种算法 1.基于权重随机算法RandomLoadBalance 2.基于最少活跃数算法LeastAc ...

  7. 微服务可靠性设计--转

    原文地址:http://www.infoq.com/cn/articles/micro-service-reliability-design?utm_source=infoq&utm_medi ...

  8. 基于实战开发垂直搜索引擎_基于DDD的微服务设计和开发实战

    作者:欧创新.邓頔.文艺 你是否还在为微服务应该拆多小而争论不休?到底如何才能设计出收放自如的微服务?怎样才能保证业务领域模型与代码模型的一致性?或许本文能帮你找到答案. 本文是基于 DDD 的微服务 ...

  9. ddd 访问权限_基于DDD的微服务设计和开发实战

    作者:欧创新.邓頔.文艺 你是否还在为微服务应该拆多小而争论不休?到底如何才能设计出收放自如的微服务?怎样才能保证业务领域模型与代码模型的一致性?或许本文能帮你找到答案. 本文是基于 DDD 的微服务 ...

最新文章

  1. 自动驾驶公司尴尬处境
  2. 2020年SAP项目艰辛曲折的开工历程 III
  3. [七月挑选]使用idea创建spring boot 项目
  4. Bit-Z 关于交易隐藏及下线说明
  5. Find The Multiple POJ - 1426 (BFS)
  6. python设计一个爱心_python画一个玫瑰和一个爱心
  7. JAVASSM框架面试题
  8. 微信小程序获取屏幕高度
  9. JAVA 图片压缩及png转jpg
  10. 台式计算机快捷键大全,最常用的电脑键盘快捷键大全
  11. 公测与奥运同行,云服务总线CSB:“连”无边界
  12. VBA批量导入多个文件夹下的图片到PPT
  13. 一心多用多线程-阻塞队列(5)-CountDownLatch
  14. IDEA中自动生成类图方法
  15. NAT 类型及检测方法
  16. 理论力学---广义坐标和广义力
  17. Cisco统一智能呼叫中心简介
  18. 二叉树先序遍历(递归+迭代)——java
  19. Redis | 安装Redis和启动Redis服务
  20. oracle中文加密算法,Oracle 加密package解密(unwrap)

热门文章

  1. Access数据库中Sum函数返回空值(Null)时如何设置为0
  2. 结课作业:云计算在物联网中的应用发展
  3. Pydev 找不到新安装的 Python egg 解决方法
  4. 最近的一次敏捷项目Scrum经验总结
  5. [SimpleOJ238]宝藏探寻
  6. 从单体应用转为分布式系统:来自Deliveroo的实践
  7. MySQL外键设置中的的 Cascade、Restrict、SET NULL 、NO ACTION
  8. iptables防DDOS***和CC***设置
  9. 徒手撸框架--实现 RPC 远程调用
  10. linux下的sort、uniq、join的使用