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

  • 价值二:持续扩展;之前的做法是每个应用程序独占一定数量的资源 , 如果变成Serverless 模式 , 所有应用程序可以共享资源池 , 每个应用程序几乎可以无限扩展 。

  • 价值三:按照请求计费;因为每个实例的启动时间甚至比 FaaS 的函数启动时间还快 , 就可以像 FaaS 一样来核算成本 , 成本只与以下因素有关:

    1. 请求数量(QPS)

    2. 每次请求CPU执行时间 , 例如100ms

    3. 每个实例的内存规格

    综上所述:为了做到以上描述的分布式架构 , 关键技术点在于应用启动速度 , 这里的应用启动速度是指应用可以正常处理流量为止 。

    如何将应用启动速度提高到毫秒级?

    应用在启动过程中通常会初始化多个组件 , 如各种中间件、数据结构 , 以及网络调用外部服务 。 在阿里内部广泛使用 SOA 和微服务的情况下 , 应用在启动过程中会大量加载共享业务 SDK , 存在启动过程达到10分钟量级的情况 , 个别应用可能会更长 。 因此 , 这个启动过程必须提前完成 , 才有机会以“临阵磨枪”的方式去创建新实例 。

    推荐阅读