技术分析| 音视频服务集群如何实现全球多中心化调度
Posted anyRTC
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了技术分析| 音视频服务集群如何实现全球多中心化调度相关的知识,希望对你有一定的参考价值。
anyRTC提供全球领先的实时音视频云服务,客户涉及社交娱乐,金融保险,政企,安防等行业,累计帮助全球近千家企业客户获得音视频通讯能力。
面对庞大客户音视频的需求,利用多中心化调度的服务架构,扛住了千万级的高并发,做到灵活调度,为广大客户带来优质的音视频体验。
在客户请求量和流量暴增的情况下,我们的音视频服务无论何时都能做到零故障弹性的伸缩。我们的流媒体传输使用分层传输,而在这样的传输架构下,多中心化的调度服务的作用至关重要。
单中心调度服务面临的问题和挑战:
一、网络延时大。比如香港到西欧或者北美,物理距离上就存在130-180ms的延时。
二、远距离的网络传输更加不可靠,网络抖动多,波动大,丢包频繁,故障多。
三、单点故障影响面更大。单中心化的调度它管理着全球巨大的一个网络,复杂不易维护,一旦出了故障影响大,甚至导致整体故障。
根据以上三点问题的分析,再加上客户的定制需求,系统的灾备等原因,服务架构从设计之初就引入了多中心调度的概念。
多中心化调度服务
多中心调度服务的设计,就是整张网有多个调度中心,每个调度中心负责某一单个区域内的资源调度分配。假设在港台,欧洲、东北亚,东南亚、美洲以及中国分别都有一个调度中心(实际上服务的调度中心会更多,有机房的地方都能覆盖到),它主要分为两个层面:
第一个层面是业务逻辑。
第二个层面是下层的数据同步,我们的集群服务采用的是一种基于订阅推送的方式做数据同步。比如当中国和欧洲的数据需要进行同步,那么会在业务层抽象出一个Key,去告诉欧洲的调度服务在业务层需要订阅哪一个Key。当中国的用户在一个频道内正在进行音视频通话,突然有一个欧洲的用户也进入了该频道,那么他是在另外一个中心进行调度的,这个时候就会触发同步的订阅和推送,让中国和欧洲的用户之间能够相互通讯,进行正常的跨中心音视频通话。
多级容灾的调度中心
具体到某一个调度中心,整套系统具有多级容灾机制。首先在一个调度中心内,集群中有多个区域,每一个区域里面有不同的IDC供应商,每一个IDC供应商又有不同的服务器,每个逻辑模块的服务器是多台,并且无差异,通过运维后台的实时监控和调度系统,这样就实现了相当于服务器级别、IDC级别和区域级别的容灾。假设某一区域的调度中心出现了故障,也会根据运营的DNS服务就近接入其他调度中心,保障用户能够正常的进行音视频通话。
除了上面的音视频服务的多中心调度架构外,我们还自研了音视频引擎,训练音频AI模型,给客户端带来高清流畅的视频效果和低噪音,高保真的音频体验。
我们的音视频服务,不仅仅是只能在公有云上部署运行,如果像金融、政企、安防等对数据比较敏感的客户,还可提供私有化部署方案,保障数据的安全性。不管多复杂的网络环境,服务架构灵活,只要客户想使用音视频服务,可保障“有网即可达”。
以上是关于技术分析| 音视频服务集群如何实现全球多中心化调度的主要内容,如果未能解决你的问题,请参考以下文章