字节Faas学习笔记(三) Faas极致冷启动&异步模式

417 阅读1分钟

学习资料:bytedance.feishu.cn/file/boxcnT…

冷启动时间优化

  • 优化拉镜像的时间

    • 在每个节点部署base image
    • 缩小base image大小
    • 用户代码和基础镜像分开,need的时候拉用户代码
  • 优化用户代码下载速度

    • 增加nginx-cache
    • 提前预热代码
    • http range并行下载
    • 下载过程中unzip/untar
    • 维护本地local cache,如果这个base pod之前就有代码,就不用下载了

拉取镜像&代码——》优化结果是tens毫秒

  • Warming Pool

    • 下载下来了,还是镜像文件,可以先启动起来称为Warming Pool
  • 更进一步(语言本身)

    • 对于Node python java这些动态代码,可以更近一步。所以就是Runtime Standby,动态加载进来。

      • 比如python修改sys.path来加速,现在启动速度在30ms-100ms里
    • golang pretty fast

稳定性和高可用

增加兜底

整体Container/runtime启动进程的流程是怎么样的?

image-20221202170619976

  • 最佳实践

    • image-20221202171355843

总结一下冷启动:

image-20221202171447473

Faas异步模式

image-20221202174213340

image-20221202174227961