通过前面的分析带给我们一些启发,首先我们认为需要构建一张媒体网络,通过这张网络来弥补供给侧和需求侧之间的鸿沟,供给侧就是互联网的基础设施,需求侧就是飞速发展的音视频业务。第二点:通过这张网络来满足不同行业对音视频分发的旺盛需求。第三点,通过这张网络来应对未来出现的新技术的挑战。
02华为云原生媒体网络架构介绍前面解释了为什么我们需要一张媒体网络。接下来我会介绍一下华为云原生媒体网络架构。
2.1 华为云原生媒体网络大家可以认为华为云原生媒体网络是云原生视频服务的一个技术底座,基于这张云原生的媒体网络会构建上面一系列从生产到处理到分发到播放的云原生视频服务,比如CDN、直播、RTC等等,通过这些云原生的视频服务来支撑上面千行百业的客户。我们这张云原生媒体网络主要包括7大特点:扁平化、Mesh化、智能化、低时延、灵活性、多样性和端边云协同。
2.2 广覆盖:支持多种接入方式,实现全球互联互通接下来我会介绍一下华为云原生媒体网络,三个比较重要的架构设计目标。因为我们的服务对象遍布全球,所以首先就要是一张全球部署的网络。这张网络主要解决三大问题:第一就是需要支持多种接入方式,其次是节点的互联互通;第三是要考虑一个高可用设计冗余覆盖。
首先,因为我们是一个paas类服务,所以客户很多,来自不同的行业,以云会议为例,很多客户对云会议的安全性和质量要求非常高,所以他希望能够从他的企业园区通过专线来接入这张网络。但有的客户,希望他的用户能够随时随地的接入这张网络来分发业务,比如一些互联网客户,这个时候就需要支持互联网的接入方式。另外,因为我们大量业务的流量在边缘终结所以国内我们主要通过电信、联通、移动单线接入,节省服务带宽成本;国内通过三线机房或者BGP资源,解决跨运营商网络资源交换的问题;在海外,我们会优先选择网络资源比较丰富的IXP节点接入;通过华为云基础网络设施或者优质的互联网资源实现跨国的互联。另外我们在部署规划的时候就要考虑高可用设计,高可用设计常见的手段是增加冗余,我们在规划的时候考虑了站点冗余和带宽冗余。我们会保证覆盖区域用户至少有3个站点可以提供对应质量要求的服务。另外,我们在做资源规划的时候,会按照业务需要的带宽的2倍以上进行规划,应对部分突发。
2.3 全行业:满足娱乐、通信、行业视频等不同业务要求因为我们是一个Paas类服务,我们不能因为满足了一类客户的需求,就影响其他客户的特性,而且要尽量快速的满足不同客户的需求。这对技术提出了3个方面的要求:首先因为需要满足不同行业的不同业务需求,所以业务应用开发的敏捷性就非常重要,我们需要让新功能能快速上线到全球任意边缘节点,同时为了降低新特性上线的风险,我们需要支持新特性在不同edge的灰度上线。我们把这种开发方式叫做Living on the edge。
第二个技术要求,也是我们非常重要的设计原则——Edge Services是独立自治的。Edge Services就是我们围绕着媒体网络的网络节点,部署的一系列微服务,我们统称为Edge Services。每个Edge Services都必须是独立自治的,因为我们是一张分布式的媒体网络,肯定不希望某一个节点故障(比如网络故障),就会对我们造成全网业务的影响。所以每个Edge Services必须是独立。什么是自治呢?当边缘和控制中心网络出现一些暂时的故障,那我的架构上一定要保证Edge Services内部能够自治,也就是说它本地的服务还是可以提供的。我们可以看到左边简单列了四个微服务,其中局部调度就是为了减少对全局调度的依赖,当边缘和控制中心网络出现一些暂时的故障,边缘依旧可以提供服务。另外,我们在Edge Services内部的架构主要采用微服务进行划分。它的核心目的是帮助我们能够快速灵活的上线一些特性,例如我们在edge service内部有协议适配的微服务,这样当我们需要支持新的终端,适配一些协议的时候,可以快速上线一个新协议的适配微服务,这样可以快速上线,而且不会影响已经上线的终端的支持。