不改代码也能全面 Serverless 化,阿里中间件如何破解这一难题?( 九 )

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

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

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

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

推荐阅读