为什么选择边缘函数
- 千人千面,个性化定制,源站计算成本高: 企业网站为了提升用户转化率,往往需要在源站服务器根据用户历史数据,计算出千人千面的个性化推荐结果。一方面给源站服务器带来了较大的计算成本,另一方面由于中心化部署带来的网络时延,企业更加容易错失商机。
- 应对流量洪峰,资源无法弹性伸缩: 中心源站为了应付突发场景预留较多的计算服务器,往往出现资源冗余。如果预留资源不够,则更加容易导致服务出错。
- 业务上线周期长: 新业务上线、活动页面搭建,在传统模式里需要调动研发、运营、运维多方人力,整体上线周期较长,人力成本高。
什么是边缘函数
针对以上三大挑战,天翼云全站加速产品推出了BosonFaaS边缘函数。
边缘函数可以让企业研发人员将自定义的JavaScript代码秒级一键部署到天翼云全球1800多个边缘节点上,就近生成千人千面的个性化响应结果。
研发人员只需要关注业务逻辑,剩下机器资源的扩容、运维、调度,都由边缘函数自动完成。
产品优势
- 在边缘节点就近响应用户请求,大大减少了回源带来的网络时延。
- 采用WebAssembly技术,将函数冷启动优化到5微秒,把对网络时延的影响降到最低。
- 相对于传统的容器技术,无需预留实例资源。
- 按照用户实际的使用量计费,并且精确到请求调用次数。对比传统的云虚拟机,提供了更大的资源利用率和更低的成本。
- 当业务流量突增时,边缘函数全网快速调度,弹性伸缩,支持全网上百万QPS的超高并发。
- 企业研发人员使用边缘函数部署业务时,无需关注部署地区,无需进行资源规划,彻底免去底层机器的运维和管理,释放人力成本。
核心功能
我们提供了易上手的开发者工具,丰富的编程语言生态,符合W3C标准的Service Worker API、Streams API、Web Crypto。
从而帮助企业网站在边缘节点上完成自定义鉴权、访问控制、内容改写、内容生成以及AB测试。
对比传统CDN处理流程,开发者平台在边缘节点直接处理客户的动态请求,大大减少了回源次数,分担了中心源站的计算压力。
相关术语
无服务器 Serverless
无服务器是一种云原生开发模型,可使开发人员专注构建和运行应用,而无需管理服务器。无服务器方案中仍然有服务器,但它们已从应用开发中抽离了出来。云提供商负责置备、维护和扩展服务器基础架构等例行工作。开发人员可以简单地将代码打包到容器中进行部署。部署之后,无服务器应用即可响应需求,并根据需要自动扩容。公共云提供商的无服务器产品通常通过一种事件驱动执行模型来按需计量。因此,当无服务器功能闲置时,不会产生费用。
函数即服务 FaaS
函数即服务(FaaS:Function as a service)是一种事件驱动计算执行模型。开发人员编写代码逻辑,部署到完全由平台管理的函数运行时中,然后按需执行。与BaaS不同,FaaS可让开发人员拥有更大的掌控权力,他们可以创建自定义应用,而不依赖于包含预编写服务的库。 代码则部署到边缘安全加速平台管理的容器运行时中。具体而言,这些函数运行时具有以下特点:
- 无状态 - 让数据集成变得更加简单。
- 运行周期短 - 可以只运行非常短的时间。
- 事件触发 - 可在需要时自动运行。
这样,您只用为所需的计算能力付费,而不必管"闲置"的应用和服务器。 使用FaaS时,开发人员可以通过触发器调用无服务器应用。
触发器
用户绑定触发器和对应函数,来实现多种调用效果。目前支持HTTP触发器。
HTTP 路由
用户绑定HTTP触发器和对应函数后,访问安全与加速服务中托管域名的特定路由,即可在边缘节点调用起对应函数计算逻辑。
运行时
用于在边缘节点运行用户自定义函数的安全隔离环境。函数运行时所支持的编程语言,目前支持JavaScript。
开发者工具
开发人员使用命令行工具,在本地完成函数编写,构建,灰度上线。
函数工作原理
边缘函数为边缘节点提供了Serverless模式的JavaScript代码执行环境。您只需编写业务函数代码并设置触发规则,无需配置和管理服务器等基础设施。这样,您的代码可以弹性、安全地在靠近用户的边缘节点上运行。
使用边缘函数前的请求处理过程:
- 网关收到客户端请求时,执行控制台标准化配置对请求进行处理。
- 如果符合缓存规则,网关将处理后的请求转发给缓存组件,由缓存组件命中后响应,或者请求回源。
- 如果不符合缓存规则,则由网关处理后,请求回源。
- 源站返回响应内容,网关响应给客户端。
使用边缘函数后的请求处理过程:
- 网关收到客户端请求时,执行边缘函数,对用户的请求进行业务处理。
- 网关处理完边缘函数的业务逻辑后,根据函数中的逻辑选择继续处理全站加速标准化配置从而完成响应,或者直接在边缘响应出客户的个性化内容。