近期,以 《极致体验,揭秘抖音背地的音视频技术》 为主题字节跳动第五期技术沙龙圆满闭幕。在沙龙中,火山引擎边缘计算产品解决方案架构师王琦从架构的角度,跟大家探讨了 Client-Edge-Server 云边端架构(以下简称 CES 架构),次要的业务场景及这种新型架构所带来的劣势。内容如下:
- Client-Edge-Server 利用架构
- CES 实用的利用场景
- 基于 Client-Edge-Server 架构的实时音视频利用
- 火山引擎边缘计算节点服务
Client-Edge-Server 利用架构
什么样的利用架构才是最好的?从利用架构的指标登程,做架构选型和设计最终都是为了服务于下层利用,所以对于“最好的利用架构”不特指某个具体的架构,而是在以后阶段可能更加符合业务、符合场景,且具备兼容凋谢和将来演进能力的利用架构。
古代 IT 利用演进
从古代 IT 利用演进来,利用前端与后端架构均产生了显著的变动。
- 首先,利用前端载体的挪动化。从最早单机模式,逐步辨别出客户端、服务端,以及客户端类型去兼容浏览器的 BS 构造;再到当初,挪动互联网高速倒退,客户端的载体更加丰盛。可预期的将来,手机、pad、电视,甚至更新鲜的 AV/VR/MR 终端,智能机器人等等,都可能成为接入互联网服务的终端类型。也因而,前端须要去适配多样化的终端硬件。
- 其次,后端载体分布式化。后端即服务端,在其架构演进中,零碎容量、可用性等始终是掂量其架构设计的关键因素。随着分布式架构理念的落地,通过集群部署代替单点部署,晋升零碎容量和可用性;再起初将服务端做上云部署,通过云服务的弹性、麻利个性,能够随时扩缩容来满足突发业务的资源需要。近几年,随着以音视频为载体的新内容出现形式涌现,数据传输和数据处理的效率,保障用户的实时交互体验等成为业务要害指标。所以在原来的根底上,服务端引入了数据源的物理地位概念,即不再以资源为核心,将数据传输到云核心,而后做解决提供服务,而是以数据为核心,将算力资源前置,在更凑近数据源的中央为用户提供低时延服务,也就是云 + 边缘计算 的云边混合部署模式,Client-Edge-Server 架构也随之诞生。
Client-Edge-Server 架构
Client-Edge-Server 架构即云边端混合部署架构,其最大的劣势在于终端、边缘与核心各司其职,最终升高业务老本,为业务发明新的价值。
- 首先,从 核心 角度来说,CES 架构会将一些要害工作下沉到边缘部署。如对时延比拟敏感的实时交互、实时剖析、实时决策的数据业务,或者能分布式部署的管制面业务。通过将这部分须要占用大量实时算力的工作下沉边缘后,能够升高核心的业务负荷,从而晋升零碎容量。核心自身也能够更加关注离线数据聚合,开掘更多价值,以及关注软件开发迭代的流程和工具自身。
- 其次,从 终端 角度来说,随着终端类型的多样化,须要投入大量的人力、物力去做终端兼容性测试以及定向的优化。边缘计算在其中次要是辅助终端做一些高性能的计算工作,如图形渲染、高清视频编解码等,通过这种形式实现“瘦终端”的概念,帮忙业务解脱终端硬件的异构问题。
- 最初,从 边缘计算 角度来说,边缘和核心最大的区别是边缘计算节点能够笼罩除北上广深外,全国各省市、运营商的边缘节点,提供通用的算力资源和 IT 服务。通过这些资源,能够保障业务更凑近用户的低时延接入和更加广域的业务笼罩。同时,在边缘计算技术计划中,还提供更加精准的网络感知能力,以便业务动静筹备资源或调整资源,实现 QOS 和 QOE 的晋升与优化。
另外,通过对核心部署和云边混合部署两种模式的比照,能够看到相比于核心部署模式,云边混合部署的劣势更加显著。
- 第一,保障业务全局体验统一,云边混合部署反对终端用户优先接入本地节点,解决核心部署模式下的网络时延与不稳固问题,保障服务体验的一致性。
- 第二,晋升零碎整体容量与并发能力,云边混合部署模式采纳分布式业务架构,将业务进行拆分,通过边缘计算实现业务全国范畴内的分布式部署,帮忙核心分担一部分计算、以及大部分网络资源压力,进而晋升零碎整体的容量和并发能力。
- 第三,升高带宽老本,在短视频、点播、直播这类流量型的产品中,带宽老本是业务老本的占比最大的局部,相比核心模式老本低廉的 BGP 带宽,边缘计算极具性价比的带宽资源将成为更优抉择。
Client-Edge-Server 利用场景
这里分享四种 CES 架构比拟实用的业务模型。
边缘本地业务
第一,边缘本地业务,次要指将原来全都部署在云端或某个数据中心的利用服务端,改为部署在边缘,使数据在终端和边缘所在的本地区域即可实现传输和解决的业务。目前次要利用于如智慧工厂、智慧园区等,对超低时延有比拟高的要求,同时也须要思考业务方的数据主权和私密性的场景。
边缘流量减速
第二,边缘流量减速型。从终端用户拜访后端服务的网络门路能够看到,两头链路会通过运营商的接入网、汇聚网、骨干网,而后再通过公网或专线到后端服务。对普通用户而言,两头链路的网络服务质量是不可控的,尤其是跨运营商、跨广域网传输,碰到丢包、网络延时等都有可能。边缘流量减速的模型就是在接入网络或汇聚网络的区域去部署边缘资源,而后通过专线或隧道和后端服务联通,通过这种形式为用户提供一个比较稳定的传输通道。另外还能够配合一些多路径传输、动静选路等办法,实现流量整体减速能力。这个模型在泛互联网畛域的利用已比拟成熟,比方 CDN、动静减速、直播等场景都会采纳这种模式减速流量,来晋升用户的体验。
核心算力卸载
第三,核心算力卸载,指将一部分偏实时业务性质的服务从核心卸载至边缘部署。这样边缘不仅仅有数据接入和减速的能力,同时还具备肯定对数据进行剖析、辨认、封装等能力,满足实时剖析、实时决策的场景诉求,同时还能优化边缘到核心的带宽应用,目前次要利用于如智慧城市、日志的边缘剖析和聚合、视频流的边缘 AI 推理等。
辅助终端计算
最初,辅助终端计算,行将原本在终端上运行的一些图形渲染、高清音视频编解码服务放到边缘运行。通过边缘资源的规范服务器 CPU 和 GPU 去执行计算工作,从而优化终端的硬件状态以及业务的普适性。这个模型比拟实用于云游戏、云桌面、云机顶盒,以及直播场景外面的一些高性能特效渲染。
基于 Client-Edge-Server 架构的 实时音视频 利用
此处以实时音视频场景为例,具体论述 Client-Edge-Server 架构的利用及其发明的业务收益。
业务架构
实时音视频(以下简称 RTC)服务目前被广泛应用于视频会议、互动直播、互动娱乐等业务场景,其要害指标比方用户接入时延、响应时延、同一个房间接入用户数等。如上图,RTC 服务自身来说有客户端的 SDK、信令服务、媒体服务、配置管理、调度核心、服务监控等几个次要模块。次要业务流程如下:
- 首先,在终端和核心之间引入边缘计算后,将 RTC 服务中的信令服务拆分为边缘信令服务和核心信令服务,边缘信令服务只有实现终端信令申请的解决和转发,核心信令服务则实现信令鉴权以及不同边缘信令服务的异步同步能力。
- 其次,媒体服务则是齐全部署在边缘,也就是所有的音视频流数据只会在边缘做接入和转发。
- 最初,在边缘还会有一个对立接入网关实现边缘和终端 SDK、边缘 RTC 服务和其余边缘 RTC 服务、以及边缘 RTC 信令服务和核心 RTC 信令服务的交互。
- 当然,在核心侧还是持续保留原来的配置核心、调度核心等服务,实现对立的配置管理和用户智能接入调度服务。
CES 架构劣势
网络时延
首先,CES 架构最大的劣势次要在于网络时延,它跟终端用户体验是强相关性。咱们把终端用户至云核心两头的区域都归类为边缘计算区域,而后再依据区域的个性,分为了三类:
- 第一类,现场边缘,即在用户数据产生的现场部署算力资源,能够间接提供边缘计算的资源服务。因为算力资源是和用户数据齐全在一起,所以时延最低,个别能管制在 1 -5ms,通常利用于在垂直行业对时延和数据主权比拟敏感的业务。
- 第二类,近场边缘,实时音视频服务及其他相似 CDN、直播等场景利用较多,次要在二、三、四线城市做边缘计算的节点建设,接入运营商优质带宽资源,网络时延能够放弃在 5 -20ms。
- 第三类,云边缘,区别于近场边缘,云边缘节点建设次要位于区域核心城市,也反对多个运营商优质的优质带宽资源接入,在区域业务笼罩、数据汇聚和转发时,具备更高的灵便度,并有利于晋升数据传输的效率和安全性。
对于 RTC 业务而言,采纳 CES 架构能帮忙业务实现就近部署,保障用户实时交互、稳固、高品质的应用体验。
数据面带宽老本
其次,数据面带宽老本。举个例子,A 和 B 两个主播连麦,须要相互进行推流和拉流,平台方也须要对这两路流进行合流、转录转直播、审核等操作,因而平台的媒体解决服务也会再去拉 A 和 B 这两路流。
核心架构中,如图 1,假如 A 用户在辽宁,B 用户在河北,可能两位用户都会接入位于北京的某个 RTC 媒体服务,总共产生两进四出的 BGP 带宽耗费;而如果 B 用户在浙江,如图 2,B 用户可能就会接入上海核心的 RTC 媒体服务,此时波及北京到上海两个媒体服务之间的推流和拉流,所以总共会有四进六出的 BGP 带宽耗费。
而转到 CES 架构后,业务模型导致的推拉流数目没有缩小,但能够通过替换掉 BGP 带宽来降低成本。
- 第一,如图 3,假如 A 用户和 B 用户都是河北石家庄联通的用户,其连麦的数据可间接在石家庄联通的边缘节点实现相互推拉流,媒体解决服务也间接在石家庄联通节点进行转发或加工。此时的带宽次要是两进四出的运营商复线带宽耗费。
- 第二,如图 4,假如 A 用户是石家庄联通,B 用户是洛阳联通,此时 A 和 B 用户都会优先接入本地媒体服务,保障最低接入时延。而后,通过边缘节点做媒体服务的级联推拉流。这样视频流的路数是和核心第二种图数目统一的,总计会有四进六出的复线带宽耗费。
- 第二,如图 5,边缘的带宽因为辨别了不同的运营商,可能会存在同个运营商不同地位,或者跨运营商间传输有网络丢包、时延的影响。此时抉择边缘的多线节点,能够将不同运营商的流量进行聚合并转发,像图 4 间接节点级联做推拉流。但在网络连通性差的时候,就须要选某个三线节点将 A 和 B 的视频流先汇聚,进行替换后做运营商间的流量减速。这样最终出现进去的理论带宽耗费是六进八出的边缘带宽耗费。
以上统计是单纯从 RTC 连麦场景来计算,在放弃雷同或略微减少的流路数根底上将 BGP 带宽代替为边缘带宽。依照边缘带宽是 BGP 带宽老本的八至十分之一计算,CES 架构带来的老本优化效果显著。
管制面零碎容量收益
最初,比照一下基于 CES 的利用架构与核心模式在零碎容量的收益。仍然举例说明,假如某个视频会议,其中有 10 个参与者须要视频发言,除此之外还有 1000 个观众。状况如下:
- 核心模式:所有用户的信令申请都发送至核心信令服务,包含退出房间、公布流、订阅流等相干操作信令,那么一个信令操作就须要核心信令服务散发 1000 次。而当其中一个参与者开始公布流了,那么 1000 个订阅观众都会收到信令提醒,10 个主播公布流就是 10*1000=10000 个信令开销。更甚至,如果会议设置是每个新用户退出房间都会给其他人发送提示信息的,那么依照从 1 -1000 个用户顺次进入房间,1000 个用户的可能产生 50 万次信令开销。此时,如果开播霎时用户密集,如此宏大的信令开销很有可能超出服务的解决能力,造成服务拥塞甚至不可用。
- 边缘 信令 模式:比照核心模式,用户所有的信令申请都和本地的边缘信令服务做交互,而后由边缘信令服务做请应答或转发。比方用户退出某个房间的信令申请,会先到边缘信令服务,此时如果本地有房间信息,能够间接应答并返回相干配置信息和流信息;如果本地没有房间信息,才须要边缘信令发动申请向核心的信令服务获取相干信息并缓存;再比方拉流申请,如果边缘本地已缓存这个流的 ID、地址等信息,也是间接做应答,没有缓存才会向核心信令服务申请指标流信息。所以对核心的信令服务而言,其服务对象不再是数以万计、甚至更多的终端用户,而是边缘信令服务,一般来说,可管制在“百”级别。因而,基于 CES 的边缘信令模式,能极大升高核心信令服务的负荷和并发度,晋升整体零碎容量,最终实现撑持几十万、百万人规模的房间容量。
火山引擎边缘计算节点服务
新一代边缘计算云平台
目前,火山引擎也以 CES 架构为根底,构建了面向异构算力的新一代边缘计算云平台。边缘计算云平台整体采纳一横 N 纵的构造,一横是指基于边缘计算基础设施打造的云原生边缘平台,N 纵指具象化的服务能力,如边缘虚机、边缘容器、边缘网络、边缘函数和边缘渲染等。
- 首先,在 基础设施层,依据边缘算力的散布层级优选全国各省市丰盛的边缘资源和运营商网络,并按地理位置部署优质的复线、多线和 BGP 的节点,联合多种架构的硬件设施,如:X86、ARM 服务器、智能网卡、GPU 等算力和网络资源,打造面向异构算力的边缘基础设施底座。
- 其次,在 平台层,基于边缘基础设施底座,火山引擎边缘计算自研了云原生边缘平台,以面向边缘云原生的操作系统为外围,提供边缘自治治理、外围零碎组件治理以及大规模部署的镜像服务能力。
- 第三,在 资源服务层,边缘计算团队将云原生边缘平台模块化,通过自研网络组件提供多种性能,由此造成边缘计算资源服务层,能够按需提供不同的边缘能力,如:虚机、容器、网络、函数、渲染等一系列服务。
- 最初,边缘计算云平台配合 云边治理 和数据管理 模式,实现业务的全域智能调度、实时数据大屏,满足内容散发、视频直播、实时音视频、云游戏等多个场景利用。
火山引擎边缘计算云平台通过字节跳动大规模业务场景验证,也在产品性能、性能、服务等方面积攒了独特劣势。
- 节点丰盛:基于覆盖全国各省市和运营商的边缘节点,提供更低时延、更高性能、稳固牢靠的计算资源,实现业务利用更凑近用户侧的部署和服务;同时,边缘计算节点还具备超大规模分布式算力单元,可能提供复线、多线、等多种网络状态,满足不同场景的业务诉求。
- 性能齐备:反对 VPC 公有网络、弹性公网 IP、高性能负载平衡、防火墙、IPv4/IPv6 双栈等多种个性,提供开关自定义限速、VF 直通性能等满足业务的按需、弹性应用体验。另外,边缘计算节点的一键开明、镜像预热、自定义云报警、一键散发等个性性能,有助于帮忙业务缩小部署和运维老本。
- 极致性能:在硬件上,边缘计算节点优选新一代至强系列铂金处理器,100G/25G 智能网卡,提供高效计算和网络转化能力;同时采纳 SPDK 技术优化磁盘 IO,并提供 NVMe SSD 高效云盘和本地盘;边缘计算团队自研的高性能网络套件,目前也已实现边缘单实例 PPS 超 700W 的优异性能。
- 优质服务:在服务上,火山引擎边缘计算撑持了 2021 央视春晚抖音红包 /818 抖音新潮好物节等流量洪峰场景,积淀了大型流量业务保障体系。通过这类大规模、海量业务的流量考验,造成了欠缺的监控、运维和服务体系,为业务保驾护航。
实际案例
最初这里,也和大家分享下火山引擎边缘计算的实际案例。
- 今日头条:通过火山引擎边缘计算提供的节点资源,帮忙建设全域笼罩的 CDN 网络,减速头条业务的内容散发,保障用户应用体验。
- 抖音直播:边缘计算撑持了抖音的直播业务,通过全国笼罩的边缘节点以及 VF 直通、100Ge 的高性能网卡满足业务高并发、高吞吐需要,提供高清、实时、晦涩的观看体验。
- 住小帮:边缘计算的 GPU 资源在住小帮 VR 看房业务中,提供短缺的边缘本地 GPU 实例,实现高效的 VR 全景素材的合成和渲染,减速传输效率和渲染效率。
以上是 Client-Edge-Server 业务模型次要架构与实际的分享,心愿对大家有所启发。