近日,英雄联盟S8全球总决赛落下帷幕,中国战队IG零封FNC夺得冠军。这场比赛引起了国内网友的超高关注度,也给直播平台带来了不小的技术挑战。虎牙直播平台结合阿里云边缘节点技术方案,保障了总决赛当日7000万在线用户的低延时、稳定流畅以及实时互动,为观众提供了流畅的体验。
那么类似S8赛事这样的大型活动直播的特点和技术挑战是什么?为什么业务要下沉到边缘?自建边缘节点和与云服务厂商合作到底该如何选择?边缘节点服务(ENS)又是如何进行技术支撑?提供的针对性优化方案有哪些?本文将为你一一揭晓。
为什么要将业务下沉到边缘?
互动直播场景,通常包括音视频推流、转码、分发、播放等核心业务模块,和弹幕、打赏礼物等互动业务逻辑,在体验上有清晰度、播放流畅度、播放延时等方面的要求。基于上述特点分析,结合直播的体验需求,赛事直播面临的技术挑战主要在以下几个方面:
1、瞬时流量增长时的性能保证
赛事直播的直播流和观看用户比较集中,而且赛事的时间是计划性的,在开赛时间的负载会有一个突发,对系统高并发压力较大。同时,在竞技比赛中的瞬时热点事件时刻,会有更加迅猛的业务和流量压力变化,比如比赛在一个意外情况下突然分出胜负,将会激发观众发送大量弹幕,当同房间所有观众同一时刻发送数据时,数据量会有一个爆炸式的增长,瞬时负载可想而知。
应对瞬时流量增长和高并发等压力,通常从根本上有效解决的方法,一是预留足够的资源水位,确保流量峰值时系统处理能力是满足需求的,这就要求系统具备很好的资源弹性能力;二是通过流量调度系统,把负载分散到不同资源上并行处理,缓解单点压力。
2、秒开/低延时/流畅度等核心体验保障
直播的核心体验指标直接决定了用户的播放和观看体验,最常见的指标就是播放延时和播放流畅度,提升体验指标的方法有很多,比如调度和网络链路的质量优化、协议优化、P2P传输技术、播放器优化等。
保障体验指标的关键,还是在于内容分发速度和网络传输质量等层面,直播中的分发环节就是依赖CDN系统的能力保证网络分发的速度和质量,同时形成用户就近访问的效果,降低网络时延,减少跨网或复杂网络链路访问带来的不稳定。其实除了直播流分发,直播场景中还可以将更多业务模块放到边缘完成,比如推流后的转码、弹幕的分发等,充分利用边缘网络和边缘计算的优势,达到更好的体验。
3、服务稳定性
服务稳定的重要性毋庸置疑,尤其在大型赛事直播中,稳定性一旦出问题,影响会非常大。
服务的稳定性首先取决于架构和方案的设计,针对系统风险点进行高可用设计,确保不出现单点故障对全链路的影响,核心模块要有failover能力或降级方案。其次,稳定性要重点做好监控和运维,确保故障及时发现,并具备高效的问题定位和处置恢复能力。
实际上,在面临了以上种种业务挑战之后,越来越多的直播平台已经在将业务下沉到边缘,充分利用边缘网络和计算的优势,第一,可以降低网络延时,为用户提供更好的观看体验。第二,缓解了中心资源和单点资源的压力,化解瞬时压力,保障业务洪峰的平稳度过。
那么如果自建节点,会面临哪些问题?
就像上图所说,自建基础设施的过程中会面临很多痛点和挑战:
1、资产重,成本高
首先,自建基础设施意味着从商务采购、服务器采购等供应链管理、到节点建设都要自己来做,会导致资产投入过重和成本过高等问题。
2、弹性能力差
其次,当应对一些突发业务需求的时候,由于新建节点交付的周期长,弹性能力比较差,而临时业务高峰过后又会有很多的资源闲置。
3、运维难度大
另外,自建基础设施还带来运维的挑战,首先需要将边缘节点从建设、交付到运行的整个流程管理起来,其次要管理边缘节点内物理服务器层面、操作系统层面、以及软件应用层面的运维问题,出现问题时要有一组工具帮助远程查看日志和问题排查定位,这些对运维的自动化和白屏化提出了很高的要求。
4、安全、可靠性考验
最后一个挑战是安全和可靠性方面,首先边缘DC基础环境的可靠性依赖第三方运营商的服务,需要应对各种复杂的情形,包括针对运营商网络割接考虑应对策略等问题。针对边缘节点中各种可能软硬件故障,还要有及时发现和调度的能力,这些要求将直接体现到业务架构的设计开发中,挑战和成本都很大。另外安全方面要着重考虑网络流量安全、主机安全等不同层面的安全问题,每个层面的安全方案开发成本都很高,比如DDoS防护,当针对某个边缘节点内IP的攻击发生时,可能整个节点的网络都出现不可用问题,而想要达到预期的防护效果,可能需要在每个边缘节点都部署一套软件加硬件的系统方案。
阿里云推出的边缘节点服务(ENS)这个云产品,就是针对前面提到的目标场景,来应对客户自建边缘设施遇到的痛点和挑战的。ENS将阿里云的公共云边界进一步拓展到边缘,与公共云一起完整支撑客户“中心+边缘”的复杂业务架构需求,真正将云的基础设施能力做到下沉到用户身边。目前该服务已经在官网上线,同时在虎牙直播平台S8赛事护航中,得了很好的场景应用和能力验证。
边缘节点服务(ENS)对直播业务场景的支撑
我们回归直播业务本身,它是一个非常依赖内容分发能力的业务场景,CDN系统能够支持主播就近推流以及直播流的分发和就近访问,确保整个流程的低时延,同时大大降低带宽分发的成本。而ENS正是基于已有的CDN节点形成更丰富的计算、存储、网络、安全等能力,可以很方便地支撑客户自有的CDN系统,以及在边缘DC中运行的直播服务模块。
1、更好的支撑资源弹性需求
前面提到应对业务流量突发以及瞬时流量增长最有效的方法是预留足够的资源,实际上是资源弹性的需求。目前“中心-终端”架构的业务,已经可以通过使用阿里云的弹性计算服务轻松的具备这个能力;直播业务由于需要基于大量的CDN节点进行分发,其资源弹性需求有很大部分在边缘,实际上是一个“中心-边缘-终端”的架构。
ENS正是面向这种架构和场景需求设计的,依托ENS在全国各地区和运营商的完整覆盖,以及节点丰富的计算和带宽资源能力,能够支撑大型赛事或活动的直播的资源弹性需求。ENS具备应用和镜像下发能力,资源创建可以在1分钟左右完成,极大提升资源扩缩容的效率。
2、完整开放的场景服务能力
ENS封装了边缘节点底层复杂的基础设施和网络环境,向客户提供标准的计算、存储、网络、及安全能力,客户不需关心底层设施和环境的各种差异,也不需关心底层运维问题。
在这些边缘实例和算力资源上,可以将直播业务中适合放到边缘的任何模块进行下沉,指定好资源规格及带宽用量即可。ENS提供了多种存储方案,以及DDoS防护能力,能够完整支撑直播及其他多种场景的基础能力需求。
3、可靠的连续服务能力
ENS系统是基于阿里云飞天2.0 Apsara Edge架构设计开发,继承了阿里云飞天系统多年的技术沉淀,结合阿里云全球领先的自动运维系统,形成可靠的连续服务能力。ENS实例和算力资源通过底层自动化迁移能力确保高可用,在节点网络方面也具备完整覆盖监控能力,实时发现网络抖动。ENS支持客户级别的资源隔离,避免资源争抢,这些都确保了直播边缘业务模块运行的稳定性。
4、方便高效的运维支撑
ENS有完整易用的Web管理控制台和OpenAPI,支持边缘实例的远程在线管理,支持CPU/存储IO/网络流量等各项运行指标的实时可视化监控,以及数据的可视化统计分析,极大提升了监控运维的能力和效率。
5、显著降低中心带宽成本
ENS除了能节省业务初始阶段的资源建设、开发成本,和后期的运维、管理成本外,还可以节省中心到边缘的带宽成本,有数据统计,平均可节约30%的中心带宽成本。
ENS针对赛事直播业务场景的优化
阿里云ENS团队针对常规活动/赛事/电竞直播这一业务场景,也做了很多技术优化。同时,在大型赛事直播需求下,团队也会启动针对性的风险评估和护航规划,在赛事初期就开始密切跟踪直播平台各项业务指标、性能指标以及稳定性方面的表现,每场比赛都有专人进行值班护航,及时发现和解决直播中遇到的问题。
1、边缘节点内弹幕服务丢包问题优化
弹幕在直播平台是非常常见的互动模式,从技术层面一般属于多人在线聊天室的架构,每个在线用户的发言均广播给在线的所有其他用户,因此在一些重要赛点,经常性的突发极高的瞬间流量,与其它常规业务流量模型差异较大。不同时间粒度的采样带宽曲线如下图所示。
可以看到采样粒度稍大时带宽波动比较平滑,根本看不出任何问题,节点带宽水位也很充足,但秒级的带宽瞬时波动非常大,而且带宽峰值会打到很高,正是因为这种突发的极高瞬间带宽,会打满服务器网卡,单节点内多台服务器叠加形成对交换机瞬间极大处理压力,导致丢包。
针对以上问题,ENS通过网卡流量整形的方式,避免数据瞬间集中广播。流量整形后经线上验证效果良好,可以有效避免丢包情况的出现。
2、部分网络传输业务实例丢包问题优化
直播的效果是依赖网络传输的,部分网络传输业务的实例会发现丢包问题,针对这个问题,ENS也会进行一些优化。首先进行排查,如交换机、实例本身有没有异常,CPU负载高不高,丢包的严重程度与带宽密切相关。然后,进一步对实例CPU多核负载进行分析,定位问题源头所在。
比如部分核心负载过高,网卡中断处理能力不足导致时延和丢包率上升的情况下,ENS可针对实例开启RPS特性,从而保障实例的时延和丢包率的正常。在平时业务5倍压力的情况下,ENS实例仍能保证性能和服务稳定。
3、定制化监控
针对直播的业务特点,以及活动/赛事/电竞等大型活动期间核心关注点,阿里云边缘计算团队基于过往经验,和客户的沟通,进行了深入分析,将该业务场景下的数据进行可视化监控。
ENS支持定制化开发,更贴近用户业务需求的监控报警能力,在网络抖动、节点和实例实时服务能力等方面确保第一时间发现问题并通知客户,与客户的系统形成联动,在最短的时间内响应并解决问题。在重大赛事的护航方面,根据比赛时间开发自动化排班值班系统,形成响应和处理的专项绿色通道,保障服务稳定性。
关于ENS多存储方案及安全能力
除了直播场景,ENS在其他边缘场景支撑上还有不少关键能力。
1、多种存储方案支撑更丰富的场景需求
不同业务场景对实例块存储的需求差异比较大,体现在存储容量、IO性能、存储可靠性等不同方面,业务逻辑有状态的场景可能需要确保数据不丢失或可恢复,像CDN等业务场景则需要海量存储空间,并且IO读性能足够高。这些需求用统一一套存储方案很难将各类需求支撑到极致,ENS设计开发了云盘、本地盘等多种存储架构的方案,能够支持各种存储需求。从目前线上的反馈看,无论是IO性能、IO吞吐,还是存储容量、存储高可用等各方面都形成了稳定的服务能力。
2. 边缘节点安全能力
ENS边缘节点还具备网络流量安全防护能力,支持DDoS检测和清洗,当针对某个边缘节点内IP的攻击发生时,能够秒级实时检测发现并自动进行流量清洗,同时结合IP黑洞能力为节点提供高可用的稳定持续服务能力,控制风险范围。客户还可以结合阿里云的云盾等其他安全产品一起使用,达到更好的整体安全防护效果。
除了直播,其他业务如何应用ENS?
边缘节点可以支持全网广覆盖、本地化服务两个类业务场景。
第一,在全网广覆盖这类场景中,主要以互联网行业的线上业务为主,对服务的目标范围一般是没有太多区域限制的,边缘节点也要做到全网足够广泛的覆盖。比如CDN业务本身就是典型的边缘计算场景,可以无缝地直接跑到ENS上,从而为整体成本、运维能力等方面带来明显的收益和提升。互动直播和实时音视频通信,则是低时延的要求以及带宽成本节省的诉求。探测监控这类业务需求主要是希望在距离用户最近的边缘,匹配真实的业务和网络环境,去探测一些业务逻辑的正确性、业务稳定性以及核心业务的性能指标等。游戏加速和SD-WAN,这类场景本质是希望在边缘节点上做边缘软网关或软路由,通过网络协议和网络链路的优化,完成加速和安全等目标,边缘节点在其中起到的作用与实时通信是类似的。
第二大类的典型场景是本地化,关注的是十公里以内超低时延及大带宽业务场景,要求延时在1ms以内来满足业务需求。这类场景更多偏向传统行业或者线下业务,具有区域性的特点。比如城市大脑这类场景中的视频监控上云,新零售场景中一些店铺在视频AI及监控的自动化识别和售卖等环节的应用上云,本地行业的一些IT设施上云等,这些阿里云都在逐步形成成熟的案例。
目前,ENS服务已经在阿里云官网正式上线,支持直接在线申请开通、控制台创建算力资源、进行业务部署和效果测试。同时,业务正式上线运营后,可直接通过控制台管理、查看用量和动态监控。
原文链接
本文为云栖社区原创内容,未经允许不得转载。