边缘程序ER(EdgeRoutine)是阿里云CDN推出的边缘Serverless计算环境。ER目前针对CDN场景,支持在CDN边缘节点执行您自行编写的JavaScript代码。ER代码一经上传,即可完成全球阿里云CDN节点的部署,在全球边缘执行,根据您的代码逻辑个性化处理全球各地的请求。

为什么使用EdgeRoutine?
传统的CDN服务是纯粹的缓存和分发服务,缺乏可以直接提供给您的计算能力。在访问CDN的海量请求中,复杂的计算逻辑必须回服务器源站执行,这增加了您的服务器消耗以及架构的复杂性。ER可提供直接在CDN边缘节点计算处理的能力,将极大提高CDN的可定制化、可编程化,从而大量减少需回源的请求,降低用户的请求延时。同时CDN边缘节点拥有天然地高可用、高伸缩、全球负载均衡的特性,边缘的计算服务可应用于更多的使用场景。阿里云CDN的ER可为您提供边缘节点的计算环境,为您的代码部署提供更多的选择,且您无需关心代码部署的机器硬件配置、部署region、调度和弹性扩容。
工作原理
ER直接运行在阿里云CDN边缘节点上,提供独立的JS运行环境,供您部署JS代码。

- 无ER的纯CDN请求
对应链路为:1→8→9→4。客户端请求到CDN网关后将到CDN缓存中查找缓存文件,如果没有缓存,则回到您的源站服务器获取对应文件后缓存在CDN缓存中并返回给客户端;如果有缓存,则直接返回给客户端。
- 有ER后可以使用的场景如下:
- ER内JS代码完成对请求的计算和处理,并返回给客户端,对应链路为:1→2→3→4。该流程是典型的FaaS场景,ER相当于您的服务器,直接处理并响应客户端的请求,不依赖您再部署其他服务器。
- ER发出子请求从其他云服务获取数据后加工,对应链路为:1→2→5→3→4。
- ER从Cache、KV读取或存储计算后的结果用以复用,对应链路为:1→2→6→3→4。
- ER可主动Proxy回CDN回源链路,对应链路为:1→2→7→8→9→10→3→4。该流程相当于ER在原CDN请求流中前置了一个计算处理逻辑,您可以在ER内进行相关的计算处理,例如远程异步鉴权等,再继续走原CDN的请求流程查找缓存或回源。
应用场景
应用场景 | 可用于... |
---|---|
鉴权 | CDN自定义鉴权,异步鉴权。 |
Originless (无源站) | 静态页面。 |
网络安全 |
|
日志 |
|
DevOps |
|
API Gateway |
|
CDN |
|
Web或小程序 |
|
Beacon | 边缘打点数据的捕获与分析。 |
使用ER
ER第一轮开放内测已经结束,内测期间如果您已经开通ER可继续正常免费使用。阿里云将尽快开放ER的第二轮内测,您可留意阿里云CDN控制台公告。
开通ER后您可以通过CLI工具测试和部署ER代码,开发过程中遇到问题可提交工单反馈。
- 代码文件大小<1 MB。
- 单次请求CPU耗时<50ms。
- 单次请求的RT<120s。
- 单个CDN节点的总内存占用<128 MB。
当ER正式商业化时,阿里云将调整计费策略和JS代码的使用限制,请关注ER商业化动态。
在文档使用中是否遇到以下问题
更多建议
匿名提交