展开查看详情
1.云+社区技术沙龙
2.无服务器云函数(SCF)架构精解
3. 个人简介 周维跃(Scott Zhou) 目前担任腾讯云Serverless平台研发负责人 2008年加入腾讯,曾经负责过消息队列中间件、域 名&DNSPod,虚拟机等产品。其中,通过虚拟机大 规模热迁移调度技术,实现了毛利率50%以上的增长 近期聚焦在Serverless架构中函数冷启动优化、自动 扩缩容、函数与云资源互联互通等核心能力建设 平时喜欢长途自驾穿越,旅行摄影
4.大纲
5. 1.1 FaaS能做什么? FaaS让开发者更聚焦业务逻辑,把其他的事情留给平台
6.1.2 FaaS的演化 提升企业效率 降低企业支出
7. 1.3 FaaS是什么? 后台的业务逻辑以“函数”承载 公共的业务逻辑以“服务”承载
8.1.4 FaaS不仅仅是计算
9.大纲
10. 2.1 分层设计模型 FaaS平台主流的实现方案是基于K8S或容器构建
11.2.2 函数平台架构
12. 2.3 运行模式-请求和容器的关系 函数容器按需部署,客户端的并发请求数等于函数容器实例的个数
13. 2.4 问题和挑战 FaaS场景下的高并发、大规模、安全、快速启动给基础设施带来巨大的挑战
14.大纲
15.3.1 什么是函数的冷启动? 函数第一次调用时的环境准备过程
16.3.2 FaaS中的冷启动过程
17. 3.2.1 函数实例复用 保留多久合适? 3分钟,能解决95%的问题 3小时,能解决99%的问题 3天,能解决99.9%的问题 保留时间并非固定不变的值,需要分析函数特点和时间段
18. 3.2.2 容器实例预创建 预创建一批不同规格的容器(不含代码) 池子太小影响体验,池子太大占用成本
19. 3.2.3 热点代码缓存 热点代码二级缓存 一级:Node本地缓存 二级:Zone机房缓存 缓存需要资源调度的配合,找到代码在哪里
20. 3.2.4 网络优化-转发网关 函数实例启动过程中动态绑定 函数创建过程中提前绑定 优化效果:冷启动时间从秒级到毫秒级,极大的减少弹性网卡(私有IP)的消耗
21.3.2.5 预启动 核心需要解决的三个问题 1、如何确定是否需要扩容 保留固定余量、机器学习 2、提升扩容请求响应时间 3、降低函数实例启动时间 不是所有场景都需要提前扩容:异步,计划任务,间接触发
22. 3.3 链式预启动 冷启动的时延成倍增加,单函数启动时延*调用层级数
23.3.4 可预知的扩容场景
24.3.5 开发者可以做些什么? 缩短下载时间 缩短执行时间 增加缓存效果 避免资源回收
25.大纲
26.4.1 相册应用
27. 4.2 消息处理 日志处理场景、大数据场景、异步业务逻辑场景
28. 4.3 业务案例-计划任务 完全兼容Crontab的语法,避免单机故障
29.4.4 FaaS的价值