技术分析| 音视频服务集群如何实现全球多中心化调度

Posted anyRTC

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了技术分析| 音视频服务集群如何实现全球多中心化调度相关的知识,希望对你有一定的参考价值。

anyRTC提供全球领先的实时音视频云服务,客户涉及社交娱乐,金融保险,政企,安防等行业,累计帮助全球近千家企业客户获得音视频通讯能力。

面对庞大客户音视频的需求,利用多中心化调度的服务架构,扛住了千万级的高并发,做到灵活调度,为广大客户带来优质的音视频体验。

在客户请求量和流量暴增的情况下,我们的音视频服务无论何时都能做到零故障弹性的伸缩。我们的流媒体传输使用分层传输,而在这样的传输架构下,多中心化的调度服务的作用至关重要。

单中心调度服务面临的问题和挑战:

一、网络延时大。比如香港到西欧或者北美,物理距离上就存在130-180ms的延时。

二、远距离的网络传输更加不可靠,网络抖动多,波动大,丢包频繁,故障多。

三、单点故障影响面更大。单中心化的调度它管理着全球巨大的一个网络,复杂不易维护,一旦出了故障影响大,甚至导致整体故障。

根据以上三点问题的分析,再加上客户的定制需求,系统的灾备等原因,服务架构从设计之初就引入了多中心调度的概念。

多中心化调度服务

多中心调度服务的设计,就是整张网有多个调度中心,每个调度中心负责某一单个区域内的资源调度分配。假设在港台,欧洲、东北亚,东南亚、美洲以及中国分别都有一个调度中心(实际上服务的调度中心会更多,有机房的地方都能覆盖到),它主要分为两个层面:

第一个层面是业务逻辑。

第二个层面是下层的数据同步,我们的集群服务采用的是一种基于订阅推送的方式做数据同步。比如当中国和欧洲的数据需要进行同步,那么会在业务层抽象出一个Key,去告诉欧洲的调度服务在业务层需要订阅哪一个Key。当中国的用户在一个频道内正在进行音视频通话,突然有一个欧洲的用户也进入了该频道,那么他是在另外一个中心进行调度的,这个时候就会触发同步的订阅和推送,让中国和欧洲的用户之间能够相互通讯,进行正常的跨中心音视频通话。

多级容灾的调度中心

具体到某一个调度中心,整套系统具有多级容灾机制。首先在一个调度中心内,集群中有多个区域,每一个区域里面有不同的IDC供应商,每一个IDC供应商又有不同的服务器,每个逻辑模块的服务器是多台,并且无差异,通过运维后台的实时监控和调度系统,这样就实现了相当于服务器级别、IDC级别和区域级别的容灾。假设某一区域的调度中心出现了故障,也会根据运营的DNS服务就近接入其他调度中心,保障用户能够正常的进行音视频通话。

除了上面的音视频服务的多中心调度架构外,我们还自研了音视频引擎,训练音频AI模型,给客户端带来高清流畅的视频效果和低噪音,高保真的音频体验。

我们的音视频服务,不仅仅是只能在公有云上部署运行,如果像金融、政企、安防等对数据比较敏感的客户,还可提供私有化部署方案,保障数据的安全性。不管多复杂的网络环境,服务架构灵活,只要客户想使用音视频服务,可保障“有网即可达”。

以上是关于技术分析| 音视频服务集群如何实现全球多中心化调度的主要内容,如果未能解决你的问题,请参考以下文章

行业分析| 调度行业未来趋势

行业分析| 调度行业未来趋势

xxl-job 实现高可用

带你了解大数据入门(四) - 分布式资源调度——YARN框架

IOS技术分享| IOS快对讲调度场景实现

IOS技术分享| IOS快对讲调度场景实现