写点什么

7X24 高可用保障,火山引擎边缘函数为猿辅导在线教学业务保驾护航

  • 2022-11-24
    上海
  • 本文字数:2044 字

    阅读完需:约 7 分钟

猿辅导是中国在线教育科技领先者,创立于 2012 年,公司旗下拥有猿辅导、斑马 APP、猿编程等多款在线教育产品,为用户提供互动网课、智能练习、能力培养等多元化的智能教育服务。猿辅导在线教育为更多中国学生提供智能、便捷、有趣的在线学习体验。



近年来,在线教育模式增长趋势明显,线下教学培训逐渐向线上演进,猿辅导主要面向不同年龄段的学生提供互动网课服务。为了保障在线教学的质量和音视频的稳定传输,猿辅导采用自研 RTC 策略,建立技术团队支持 RTC 协议和平台开发,但对于搭建业务所需要的覆盖全国的 RTC 网络,还需要大量的计算资源来实现更靠近用户的业务部署。


火山引擎边缘计算节点产品为猿辅导在一线、二线城市提供边缘实例,用于部署在线网课业务所依赖的实时音视频通信 RTC 平台。通过将 RTC 平台的推拉流服务下沉至边缘部署,实现基于城市粒度的精准覆盖,同时也能本地接入学生、老师的音视频流量,保证在线网课的实时性和互动性。



在线教学业务激增,猿辅导业务运维面临新挑战


猿辅导技术团队负责猿辅导公司全线业务的运维保障工作,随着业务的高速发展,传统的开发及运维模式已难以应对快速交付的要求和运维工作总量的飙升。技术团队需要将边缘实例的 CPU、网络带宽等数据对接至公司内部监控平台,进行 7X24 小时的实时监控,从而保障 RTC 平台的稳定运行,这对交付效率、技术能力及运维保障均提出了更高的要求和挑战。

  • 挑战 1:研发周期紧张。线上业务爆发,需求繁重,猿辅导技术团队面临线上业务快速交付和运维保障的双重压力;

  • 挑战 2:可用性要求高。监控平台需要 7X24 小时提供服务,为线上业务稳定运行提供保障;

  • 挑战 3:数据定制化程度高。Grafana 平台及插件对于可视化数据的格式有明确的标准和要求,技术团队需要对边缘计算节点的数据格式进行多次处理,并且要能够快速灵活地支持后续监控的扩展性要求。


4 天上线,7X24 高可用保障,Grafana 监控 + 边缘函数解决方案


为了快速完成监控能力建设,猿辅导技术团队积极拥抱 Serverless 轻量级计算技术,通过火山引擎边缘函数服务来构建 RTC 平台边缘实例的监控能力,探索运维开发新模式。

边缘函数的技术优势


边缘函数是部署在火山引擎边缘节点的轻量级 Serverless 计算环境,用户只需要关注业务逻辑的实现,无需关心底层基础设施和运维。火山引擎边缘函数还具备以下技术优势:

  • 超低时延:边缘流量调度利用地理信息,就近调度。不同地区的用户流量将会进入分散在对应地区的边缘节点处理,可以有效降低时延。

  • 超高伸缩:一经部署、全国执行,结合边缘的分布式调度,拥有极高的伸缩性,且伸缩过程无需人工干预。

  • 简单易用:相较于传统的软件开发模式,可以有效减少人力投入,缩短交付周期。

  • 节约成本:采用轻量级运行时作为执行组件,在提高伸缩性的同时,通过细粒度的资源切割更大程度地降低用户的费用。

猿辅导边缘实例监控能力建设


为快速构建服务,同时避免后续迭代及运维中的复杂性,团队基于猿辅导内部的 Grafana 监控平台来构建边缘实例的监控能力,在本地使用 JSON 插件作为数据源与边缘函数进行对接,通过边缘函数打通本地 Grafana 和火山引擎 OpenAPI 之间的鉴权,并进行数据处理,再通过配置指标,最终实现监控看板的搭建。

在整个方案实施过程中,猿辅导开发团队只需通过边缘函数服务创建函数,在代码中定义鉴权及数据格式处理的逻辑,完成函数发布,即可实现数据源的打通。边缘函数通过 HTTP Server 的形式,将处理后的数据对外暴露,猿辅导本地的 Grafana 与 JSON 之间通过 Basic Auth 等方式进行鉴权,从而保证数据传输安全性。


基于边缘函数的标准化能力创建并发布应用,简单高效,团队交付时间从 10 天缩短至 4 天。同时,边缘函数底层的租户隔离和服务兜底策略为猿辅导的监控应用提供 7X24 高可用保障。此外,方案具备可扩展及规模复制的特性,鉴权、边缘数据处理、CI/CD 等定制化需求均可复用该方案,真正实现规模化的定制服务

不止于在线教育,边缘函数更多场景应用


除了边缘请求处理场景,边缘函数在前端、CICD、CDN 定制化、小程序、网页加速等场景均有广泛应用。


1、浏览器性能优化(ESR)

通过边缘节点提供浏览器渲染能力,将静态内容和动态内容以流式先后返回给用户。企业可以利用边缘函数搭建边缘网关,当用户请求至边缘网关时,优先访问本地 CDN 缓存返回静态内容,同时对动态部分内容请求回源,异步返回用户,对于终端用户来说,一次页面请求即可实现静态内容优先展示和动态内容异步加载,提升用户访问体验。



2、搭建 CI/CD 流水线

利用边缘函数在边缘节点的广泛部署及可编程能力,企业可以在边缘打造针对 API 或者传统网站的边缘 CI/CD 流水线,用于支持 A/B 测试、基于接入地理信息的请求、请求重定向、错误兜底降级等场景。同时,利用边缘函数的场景化 API,还可以实现边缘源站的主动健康检查、拨测、选点、竞速请求等功能。



3、源站健康检查

企业可以在边缘函数中做源站探针,自定义健康检查逻辑,当 CDN 接入的请求到达函数,可以动态选择请求回源逻辑,同时将健康数据回传至中心,实现边缘源站的健康检查。



用户头像

边创未来,连接生活 2018-10-09 加入

火山引擎边缘计算官方账号

评论

发布
暂无评论
7X24 高可用保障,火山引擎边缘函数为猿辅导在线教学业务保驾护航_Serverless_火山引擎边缘云_InfoQ写作社区