边缘程序ER(EdgeRoutine)是阿里云CDN推出的边缘Serverless计算环境。ER目前针对CDN场景,支持在CDN边缘节点执行您自行编写的JavaScript代码。您无需关心代码部署的机器硬件配置、部署region、调度和弹性扩容。ER代码一经上传,即可完成全球阿里云CDN节点的部署,在全球边缘执行,根据您的代码逻辑个性化处理全球各地的请求。

为什么使用EdgeRoutine?

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

原理

ER直接运行在阿里云CDN边缘节点上,提供独立的JS运行环境,供您部署JS代码。

原理

应用场景

由于ER内部有完整的JS运行环境,同时给予您完全的请求控制,HTTP/HTTPS异步自请求的能力,可以使ER能够覆盖较多的应用场景。
应用场景 可用于...
鉴权 CDN自定义鉴权,异步鉴权。
Originless (无源站) 静态页面。
网络安全
  • 反爬虫。
  • 边缘WAF。
日志
  • 自动生成边缘日志。
  • 记录回源时间。
DevOps
  • AB测试。
  • 设置GitLab、GitHub、Jenkins的webhook。
  • 编写边缘IM机器人,例如slack机器人。
API Gateway
  • 边缘GraphQL。
  • 边缘网关:
    • 限流。
    • API参数验证。
CDN
  • 边缘Cache预热。
  • 边缘内容生成。
  • 边缘请求回多源站:
    • 合并多源站内容。
    • 选择最快的源站响应。
  • 边缘动态回源,自定义回源算法。
Web/小程序
  • 边缘渲染
    • Markdown渲染。
    • ESI渲染。
    • Nunjunk渲染。
  • 边缘SSR
    • Vue.js。
    • React.js。
  • 页面延时优化、预热。
  • 边缘杂项服务,例如二维码生成。
Beacon 边缘打点数据的捕获与分析。

使用ER

ER第一轮内测已经于2020年9月结束。内测期间如果您未开通ER,内测结束后将无法申请开通,如果您已经开通ER,可继续正常免费使用。ER下一轮内测预计2021年1月开启,敬请期待。

开通ER后您可以通过CLI工具提交JS代码至阿里云CDN节点,实现自动部署。

说明 内测期间ER免费使用,且JS代码有以下限制:
  • 代码文件大小<1MB。
  • 单次请求CPU耗时<50ms。
  • 单次请求的RT<120s。
  • 单个CDN节点的总内存占用<128MB。

当ER正式商业化时阿里云将调整计费策略和JS代码的限制,请关注ER商业化动态。