CSE:阿里在线应用如何演进成Serverless架构( 九 )

因此 , 这个启动过程必须提前完成 , 才有机会临阵磨枪的方式去创建新实例 。

方案一:应用冷启动资源压缩方案

L1弹性能力是指在一台物理机或者大规格的ECS上部署同一个应用的多个实例 , 通过操作系统和JVM的优化 , 一个占用4G堆内存的应用 , 即使部署10份 , 仅需占用2.2G RAM 。 以线上菜鸟生产应用为例 。

L1总结来看是一种高密度部署方式 , 由于应用已经提前启动 , 并且对容器进行冻结 , 意味着这个应用实例CPU占用率为0 , RAM占用相当于之前的1/20 , 但是具备了毫秒级弹性的能力 。 L1的特点是启动速度极快 , 但是需要消耗资源 , 且只能垂直弹性 。

L2是通过将应用程序启动后在RAM中的指令和数据结构 dump到磁盘文件 , 只需要在机器之间拷贝文件即可以达到横向弹性的能力 , 这个时间消耗主要是数据的网络传输时间+内存拷贝时间 , 大约在5秒左右可以完成 。 L2的成本开销只有网络磁盘容量 , 开销极低 , 可忽略不计 。

推荐阅读