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

L2的每个SNAOSHOT对应一个可运行的实例 , 例如预计一个应用需要最大启动100个实例 , 那么需要提前生成100个SNAOSHOT , 每个SNAOSHOT对应一个运行实例 , 需要启动时 , 从远程磁盘加载这个SNAPSHOT 。

此方案通过L1和L2的组合来达到加速应用启动的目的 , 在支持一定流量脉冲能力下 , 可以最大50ms内启动任意应用 , 平均在10ms内完成 。

方案二:应用热复制启动加速方案

L1采用通过fork种子进程达到快速启动的效果 , 操作系统团队专门为此开发了fork2技术 , 与linux native fork的关键区别是可以指定PID来fork一个进程

pid_t fork2(pid_t pid);

L2的单个SNAPSHOT可以创建多个进程 , 一对多关系 。

自研两种方案对比