延迟加载算法微服务的模型

原文地址

 

 

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

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

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

@Service
@Log4j2
public class QasEngine {

    @PostConstruct
    public void bootstrap() {
       //获取元数据
       //加载算法模型
    }
}
@Service
@Log4j2
public class QasEngine implements ApplicationListener<ApplicationReadyEvent> {

    @PostConstruct
    public void bootstrap() {
        //获取元数据
    }

    @Override
    public void onApplicationEvent(ApplicationReadyEvent event) {
       //加载算法模型
       //懒加载其他类型的服务
    }
}

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

 

原文地址

转载于:https://my.oschina.net/u/3568122/blog/1523551

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值