前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >EdgeOne 自动预热

EdgeOne 自动预热

原创
作者头像
EdgeOne小助手
发布2024-08-27 19:39:24
1650
发布2024-08-27 19:39:24

本文主要介绍了如何通过腾讯云对象存储(Cloud Object Storage,COS)云函数服务(Serverless Cloud Function,SCF)实现 EdgeOne 自动预热资源,预热的功能和原理介绍请参考 预热缓存

背景介绍

若您的源站为腾讯云对象存储 COS,当源站上传新的热点资源后(例如:APK 安装包、热点视频、课程文件等),通常需通过预热缓存来将资源提前缓存至 EdgeOne 边缘节点,避免客户端首次请求时因节点未缓存资源导致请求回源的情况。但是预热缓存需要您在文件上传到腾讯云 COS 后,人工到 EdgeOne 控制台内提交需预热的 URL,在需预热的 URL 数量很多的情况下,容易遗漏且可能因为人工操作造成未及时预热。

自动预热可以帮助您在文件上传至腾讯云 COS 后,由腾讯云 SCF 自动检测并调用 EdgeOne 的缓存预热 API 接口自动完成文件预热,保证您的文件在上传后立即预热至 EdgeOne 节点,提高缓存命中率,降低回源请求量。

注意: 腾讯云对象存储 COS 为收费功能,使用中可能产生的费用由腾讯云 COS 收取,具体收费详情请参考对象存储计费概述。 云函数 SCF 为收费功能,使用中可能产生的费用由云函数 SCF 收取,具体收费详情请参考云函数计费概述。 每日预热数量具有限额,不同计费套餐有不同限额,详见 套餐选型对比

适用场景

场景1:发布新内容

新版本的安装包或升级包上传至腾讯云 COS 后,资源自动预热至 EdgeOne 加速节点。文件正式发布后,海量用户的下载请求将直接由加速节点响应,提升下载速度的同时,大幅度降低源站压力。

场景2:大型运营活动

运营活动发布前,提前将活动页涉及到的静态资源上传到对象存储 COS,资源自动预热至 EdgeOne 加速节点。活动开始后,用户访问的静态资源均由加速节点响应,降低因高流量导致的延迟和拥塞。

操作步骤

示例场景

假设您是一家游戏厂商,已将站点域名 www.example.com 接入到 EdgeOne 加速,源站为腾讯云 COS,地址为:prefetch-cos-1251558888.cos.ap-guangzhou.myqcloud.com 。因为有多款游戏 APK 需要经常更新,期望上传 APK 后即可自动将资源预热至 EdgeOne 边缘节点。

准备工作

1. 已开通 对象存储 COS云函数 SCF,记录该存储桶名称及地域信息。

2. 根据 站点接入 指引添加站点,购买 EdgeOne 套餐,并获取该站点 ID。站点 ID 可通过站点接入后,在站点列表内查看并复制,例如:zone-26v607hq8d3m。

3. 已在 EdgeOne 控制台添加加速域名 www.example.com,且源站配置为腾讯云 COS。

步骤1:创建 EdgeOne 自动预热的云函数并部署

1. 登录 云函数服务控制台,在左侧菜单栏中,单击函数服务。

2. 在函数服务页面,单击新建,选择使用模板创建,在模糊搜索中输入 EdgeOne 自动预热并选中,单击下一步

3. 在“函数配置”页面,如下配置为必填项,其他配置项建议保持使用默认配置即可。

  • 基础配置 - 函数名称:创建函数时将自动生成一个函数名称,您可以选择自定义修改为一个易识别的函数名称。 - 地域:请选择对象存储桶 COS 的所在地域,例如:广州。 - 描述:说明此函数的用途,如:本示例使用 COS 作为触发器,如 COS 文件上传时,触发云函数执行完成 EdgeOne 自动化预热文件到边缘节点。 - 运行角色:默认勾选启用,配置并使用 SCF 模板运行角色。如使用已有角色,请确保已有角色已包含 QcloudCOSFullAccess 和 QcloudTEOFullAccess 的预设策略。
  • 函数代码:模板已内置默认函数代码实现 EdgeOne 自动预热能力,无需改动。
  • 环境配置: 单击高级配置,选中环境配置,您需要在环境变量中添加以下 key 和对应的 value 值,其余配置保持默认即可: - ZoneId:请填写对应需进行自动预热的域名站点 example.com 的 ZoneId,站点 ID 获取方式请参见 准备工作。 - eoDomains:请填写已在 ZoneId 下添加好的加速域名,如:www.example.com

说明: 如果您在当前站点下有多个域名的源站使用了同一个 COS 存储桶,期望多个域名都能触发自动预热,则填写环境配置时,可以填写添加多个环境变量,以 eoDomains 开头,例如:eoDomains_1、eoDomains_2,如下所示:

  • 触发器配置

在触发器配置中,选择 COS Bucket 为与此云函数 SCF 同地域的存储桶,可输入存储桶名称进行模糊查询,例如:prefetch-cos-1251558888.cos.ap-guangzhou.myqcloud.com。其余配置项保持为默认配置即可。

4. 单击完成,即可完成 EdgeOne 自动预热函数的创建。

步骤2:验证生效

1. 登录 对象存储 COS 控制台,在左侧菜单栏中,单击存储桶列表。

2. 在存储桶列表页面,单击用于存储 APK 母包存储桶名称

3. 在文件列表页面,进入 prefetch-cos-1251558888.cos.ap-guangzhou.myqcloud.com 根目录。

4. 单击上传文件,首次上传一个文件,例如:v2_src.apk,单击上传

5. 文件上传成功后,在 云函数 SCF 控制台 中,单击 步骤1 创建的函数名称

6. 在函数管理页面,选择触发管理 > 日志查询 > 调用日志,通过调用日志获取到函数执行的日志信息,当显示调用成功,且日志内 key 信息与刚才上传的文件名称一致,则表示文件上传到 COS 已触发云函数 SCF 调用 EdgeOne 缓存预热 API 成功。

7. 前往 边缘安全加速平台 EO 控制台,进入当前站点 example.com 后,单击站点加速 > 预热缓存。

8. 在预热缓存页面,单击历史记录,查看预热结果是否成功,如显示预热成功,表明当前已完成预热。

9. 在浏览器打开开发者工具后,输入该文件的访问路径访问,例如:www.example.com/v2_src.apk。查看响应头内的 EO-Cache-Status 值。如未预热资源,首次访问资源时将显示为 MISS,下图显示为 HIT,则表示资源已提前自动预热到边缘节点,即已实现首次访问也可以命中缓存。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景介绍
  • 适用场景
  • 操作步骤
    • 示例场景
      • 准备工作
        • 步骤1:创建 EdgeOne 自动预热的云函数并部署
          • 步骤2:验证生效
          相关产品与服务
          边缘安全加速平台 EO
          边缘安全加速平台 EO (TencentCloud EdgeOne)基于腾讯云遍布全球的边缘节点,提供域名解析、动静态智能加速、TCP/UDP 四层加速、DDoS/CC/Web/Bot 防护、边缘函数计算等边缘一体化服务,可帮助客户更快速、更安全、更灵活地响应用户请求。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档