欢迎访问深圳敏捷云计算科技有限公司!

虎牙

虎牙

项目背景

 

虎牙直播是一个互动直播平台,为用户提供高清、流畅而丰富的互动式视频直播服务, 旗下产品包括知名游戏直播平台虎牙直播、风靡东南亚和南美的游戏直播平台NimoTV等,产品覆盖PC、Web、移动三端。虎牙直播是中国领先的游戏直播平台之一,覆盖超过3300款游戏,并已逐步涵盖娱乐、综艺、教育、户外、体育等多元化的弹幕式互动直播内容。2018年5月,虎牙在美国纽交所上市,股票代码为“HUYA”,成为中国第一家上市的游戏直播公司 。

 

虎牙公司正在发展视频点播的相关业务,在现有与新增的视频点播业务上,虎牙公司希望逐步的转换到CloudFront服务上,以此来更好的支持海外客户的体验效果。虎牙内部在视频点播业务上是有一套完整的日志对接与功能点要求的,虎牙内部希望使用现有的系统对接到CloudFront。

 

 

 

 

目标

 

  1. 1. 实现CloudFront多次302跟随并缓存对应文件
  2. 2. 实现CloudFront指定对应标头回源
  3. 3. 实现CloudFront 对m3u8、mpd请求的参数透传到对应的分片中,使分片携带参数信息返回端侧
  4. 4. 根据客户要求,实现 CloudFront 查询域名接口
  5. 5. 根据客户要求,实现CloudFront 日志下载接口
  6. 6. 根据客户要求,实现 CloudFront 计费区域查询接口
  7. 7. 根据客户要求,实现 CloudFront 获取鉴权接口

 

 

 

 

解决方案

 

1、CloudFront多次302跟随示例图

 

 

功能说明:

把适配好的Lambda@edge部署在CloudFront的回源请求阶段,当请求回源站获取资源时,会调用函数去外网判断该请求是否为302重定向的请求,如果是重定向的请求,则函数会修改CloudFront回源的源站配置,使CloudFront回源正常获取200的响应。

 

 

2、m3u8、mpd请求参数透传:

 

 

功能说明:

把配置好的函数部署在CloudFront针对m3u8、mpd行为的回源请求中,当客户端的m3u8、mpd请求到CloudFront的回源阶段时,CloudFront 会触发函数直接回源获取对应请求的正文,针对正文中的分片信息添加对应的参数信息,最后把修改后的正文内容返回给端侧

 

 

3、CloudFront相关日志接口架构图:

 

 

架构说明:

 

  1. 1. 原始CloudFront收集日志后存储到对应的存储桶,存储桶触发Lambda函数把日志复制到另一个账户的存储桶中。
  2. 2. 针对复制过来的日志,存储桶配置事件触发相应的函数来处理日志,并把处理后的日志文件下载路径记录到DynamoDB中
  3. 3. 使用API Gateway + Lambda + DynamoDB的形式处理相应接口的逻辑,适配各个接口的功能
  4. 4. Lambda会定期更新DynamoDB中存储的信息

 

 

 

实现效果

 

  1. 1. 实现CloudFront多次302跟随并缓存对应文件
  2. 2. 实现CloudFront指定对应标头回源
  3. 3. 实现CloudFront 对m3u8、mpd请求的参数透传到对应的分片中,使分片携带参数信息返回端侧
  4. 4. 实现 CloudFront 查询域名接口
  5. 5. 实现CloudFront 日志下载接口
  6. 6. 实现 CloudFront 计费区域查询接口
  7. 7. 实现 CloudFront 获取鉴权接口

 

返回列表