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

  • 资源分配速度 = 分钟级

  • 应用程序启动速度 = 10分钟+

基于以上客观条件 , 通常做法是提前预定好机器数量来应对任意时刻的流量峰值 , 假设上述技术参数变为毫秒级 , 就有机会将应用程序架构演变成下图所示方式 。

上图中 , Service A 在调用 Service B 时 , 如果 B 的容量充足 , 则调用成功;如果 B 的容量不足 , 这时候如果线程池满 , 则直接触发限流阀值 , A 会收到一个错误码 , 然后直接调用资源总控系统 , 资源总控系统负责新分配一个 Service B 实例 , 这个分配的速度非常快 , 耗时几十毫秒 , 同时把 B 的服务地址直接返回给 A , A 会将之前未完成的请求发送到新创建的 Service B 。

以上过程对于开发者完全透明 , 具备了以下价值: