启动延时缩短 50%-80%,kafka详细教程

启动延时缩短 50%-80%,kafka详细教程,第1张

启动延时缩短 50%-80%,kafka详细教程

镜像加速可以通过控制台、CLI 工具或是 FC SDK 开启,详细步骤参考镜像拉取加速文档。

  • 方式一:在函数计算控制台函数配置下选择“开启镜像加速”。

  • 方式二:使用 Funcraft 工具部署。

在已有的 CustomContainerConfig 配置下添加 AccelerationType: Default 如需关闭则配置 AccelerationType:

CustomContainerConfig:

Image: registry-vpc.cn-beijing.aliyuncs.com/fc-demo/python-flask:v0.1

AccelerationType: Default

3. 功能特点


FC 镜像加速具备以下特点:

  • 使用简单:只需在函数上开启镜像加速,函数计算会自动制作加速镜像和缓存,转换完成后(5分钟以内),函数自动采用加速镜像缓存。

  • 专注业务创新:开发者无需花费时间刻意精简优化镜像大小或严格区分 Serverless 和 Serverfull 应用镜像的构建方式,FC 负责按照应用实际使用数据拉取和解压

  • 加速免费,使用门槛低:镜像加速开启不产生额外费用,也不需要开发者额外购买或升级任何其他服务。事实上由于镜像拉取时间变短,相应的请求费用也随之降低。

  • 极速d性、缩容到 0、事件触发:FaaS 结合容器镜像已经极大简化了应用迁移至 Serverless,加速功能进一步解锁了实时、准实时工作负载,曾经需要分钟级别的容器启动现在可以几秒内快速启动,真正实现缩容到 0。

镜像拉取为什么慢?

==============================================================================

一个 OCI V1 容器镜像包含多个层(layer),每层都是一个压缩打包的文件系统(文件夹),通常以 tar.gz 格式存储在远端服务(如对象、文件存储)。拉取镜像时步骤如下:

  • 将各个 layer 对应的 tar.gz 文件完整下载至本地。

  • 每层顺序解压。

  • 将各个层合并(如 Overlay)作为 rootfs 启动容器。

上述步骤虽然简单,却是镜像拉取慢的主要原因:

  • 文件格式缺陷、粗粒度数据分层、顺序解压:gzip 层导致无法细粒度随机读取应用实际需要的数据,且要求所有层单线程顺序解压。实际观察发现镜像层可以通过并发下载提高速度,然而解压环节在 gzip 格式下却很难优化。

  • 低效的压缩/解压缩算法:镜像层采用的 gzip,benchmark gzip 解压速度对比 lz4 平均慢接近 9 倍。

  • 全量数据下载:同样由于粗粒度的分层和 gzip 格式(不支持 seek),镜像数据不论是否实际有用,都要被完整下载至本地。

综上原理,镜像拉取时间和镜像大小成正比,而容器镜像构建过程中运行 apt/yum install, 无用的测试、数据文件,构建过程中执行 chmod/chown 等命令造成同一数据复制多份,极易引入大量应用不需要的数据。

加速原理

=========================================================================

函数计算将阿里集团成熟的镜像加速技术应用在公共云服务中,加速技术围绕两个核心思路:

  • 按需加载:仅读取应用真实需要的数据,极大减少数据传输量。

  • 更高效的存储和算法:相同大小的数据,更快地解压。

1. 按需加载


Benchmark 中包含镜像数据加载率在 12% - 84% 之间,除了镜像较小的 web 应用,大部分场景数据利用率低于 50%。以层(layer)作为数据分发单位的原始镜像被转换成支持细粒度按需读取的数据格式,并存放在延迟和吞吐都更优的存储中。

2. 高效解压


除了按需加载带来的下载步骤延时节省,镜像加速技术在数据解压步骤也同样做了大量优化。下图可以看出即使在加载 70% 以上全量数据的情况下,优化效果仍然超过 60%。

未来规划

=========================================================================

函数计算正式发布了容器镜像加速,通过按需读取和更高效的解压技术在不同场景下加速 50%-80%,即使 GB 级别的镜像也可以在几秒内完成端到端启动。加速功能结合函数计算极致d性和事件触发的特点,解锁了更多对实时要求高的工作负载。容器应用可以更容易地享受 Serverless 特性,真正做到缩容到 0 以及快速大规模扩容。FC 在未来会持续优化冷启动各个环节提供极致d性,承担更多用户责任,使开发者专注业务创新。

附录:实验场景数据

《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享


参考


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5677669.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存