ZEGO即构自建MSDN有序网络,为实时音视频传输极致顺畅!
由于疫情反扑,音视频云通讯的使用需求再次增加,跨机房环境经常遇到网络通信质量不佳的问题,比如延迟、卡顿、画质不清晰等。网络状况是影响用户体验最大因素之一,因此提升用户网络体验的需求被各家产品highlight。
在这种背景下,全球云通讯服务商ZEGO即构科技的“海量有序数据网络MSDN(Massive Serial Data Network)”正当其时。
通过海量服务实践积累,结合SDN技术,背靠基础多云商,即构自研了MSDN。这是即构将不同云商的 IDC、公⽹、专线网络等资源整合成的一张“虚拟网络”,依靠于MSDN网络传输,即构实时音视频“流畅清晰、低延迟、 极速秒开”等核心能力得到透彻展现。
建构在多云网络的MSDN,可以避免客户侧的单云商故障,重点减少卡顿、延迟等问题。2020年,即构每日音视频通话时长超过20亿分钟,MSDN为这数十亿的音视频流规划了全球质量最优的线路。
MSDN究竟是什么?
“如果各节点之间的连接是一条条路,奔跑的实时音视频流是一辆辆汽车,那么MSDN就是即构在海量的服务积累中,提炼出的最优质路线。”即构MSDN产品负责人许键树表示。
简单来说,MSDN就是在原有公网基础上搭建了一个“有序网”,有序是指它可以自动容错、智能选择最优传输路径,当出现线路故障时秒级响应/自动恢复,让使用者获得更高的网络质量。
这张“有序网”来自对亿级海量数据的实时质量评估&事后质量评估。根据海量用户的最优化实践、和亿级数据的最优化传输,即构MSDN逐渐成为一张覆盖面广、可用性强、支持超高并发、且具有超低延迟的“专线级”虚拟网络。
MSDN的背后是即构对客户需求的密切关注,依托于MSDN,即构正在将服务亿级用户的积累反哺客户:
选择更优路线,满足用户高质量网络需求
MSDN融合了多云商的能⼒,相比自建网络以及单一云商架构,具有更高的可靠性,实现了最优网络覆盖,满足了用户对高质量网络和直播秒开的需求。
线路故障秒级响应秒级,自动恢复
人工干预一定有延迟,MSDN网络支持线路故障秒级响应和自动恢复,更快恢复常态,减少用户感知。
精细的路径规划,有控制力
MSDN具备精细化的“路由控制”,可以让数据在严格的控制下,在既定的路径传输,相比传统SDN,优势是易于运维,对⽹络⽇常运维如灰度发布,有更好的控制⼒。
“活地图”
MSDN可以实时探测全网链路情况,搜集“延迟、抖动、丢包率”等信息,及时发现⽹络故障,并重新规划数据传输路径,减少⽹络抖动给业务带来的影响,保证实时连通;
“飞毛腿”
MSDN通过路由节点或中转节点转发,可以自动绕过⾼延迟的⽹络线路,尽可能降低⽹络延迟和丢包,大幅提升传输速度;
“智多星”
可基于特定区域/特定业务,调整流量的传输路径,灵活应对复杂的业务场景和⽹络状况,比如可以优化跨境云厂商的传输效果;
“多容灾”
⽅案更普适,融合多云商基础⽹络,⽀持多云商调度容灾;
以下是从上海到香港的多条数据流的传输,上下两图分别是不经过MSDN加速和经过MSDN加速的区别:
上海>香港,未通过MSDN加速
平均延迟100ms,丢包15%
上海>香港,通过MSDN加速
平均延迟37ms,丢包0%
如果MSDN各节点之间的连接是一条条路,奔跑的实时音视频流是一辆辆汽车,即构后台架构师周健就是这张网络背后的“铺路者”之一。
“通过持续探测机房间的网络链路,收集全网的网络质量数据,基于自研的加权算法,动态地规划出数据报文的最优传输路径,我们有了这么一张网络。所以我们的MSDN能够提供高质量、低延迟的数据传输服务,并且能够快速响应网络质量变化,即时绕开故障链路。”即构后台架构设计师周健表示。
在对海量数据的收集规划之上,MSDN网络传输让网路传输达到了最佳连接,让这些“汽车”避开事故、最快速的有序通行。
依托于MSDN,即构正在将服务亿级用户的积累反哺客户,全力让每一次音视频流的传输都稳定、可靠、低延时。
ZEGO即构自建MSDN有序网络,为实时音视频传输极致顺畅!的更多相关文章
- 实时音视频互动系列(上):又拍云UTUN网络详解
如何定义实时音视频互动, 延迟 400ms 内才能无异步感 实时音视频互动如果存在1秒左右的延时会给交流者带来异步感,必须将视频播放延迟限制在400ms以内,才能给用户较好的交互体验. 当延迟控制在4 ...
- ZEGO音视频服务的高可用架构设计与运营
前言: ZEGO 即构科技作为一家实时音视频的提供商,系统稳定性直接影响用户的主观体验,如何保障服务高可用且用户体验最优是行业面临的挑战,本文结合实际业务场景进行思考,介绍 ZEGO 即构在高可用架构 ...
- 如何基于 ZEGO SDK 实现 Flutter 一对一音视频聊天应用?
之前的文章发布了ZEGO SDK实现Android端音视频通话应用的开发教程,不少开发者反馈很实用,能不能也出一版Flutter的教程. 有求必应,这不小编来了- 我们封装了ZEGO Flutter ...
- 如何基于 ZEGO SDK 实现 Android 一对一音视频聊天应用
疫情期间,很多线下活动转为线上举行,实时音视频的需求剧增,在视频会议,在线教育,电商购物等众多场景成了"生活新常态". 本文将教你如何通过即构ZEGO sdk在Android端搭建 ...
- 如何基于 ZEGO SDK 实现 Windows 一对一音视频聊天应用
互联网发展至今,实时视频和语音通话越来越被大众所依赖. 今天,我们将会继续介绍如何基于ZEGO SDK实现音视频通话功能,前两篇文章分别介绍了Android,Flutter平台的实现方式,感兴趣的小伙 ...
- Android IOS WebRTC 音视频开发总结(五七)-- 网络传输上的一种QoS方案
本文主要介绍一种QoS的解决方案,文章来自博客园RTC.Blacker,欢迎关注微信公众号blacker,更多详见www.rtc.help QoS出现的背景: 而当网络发生拥塞的时候,所有的数据流都有 ...
- 用UE4来做Zego即构的房间列表
Zego即构是一家做直播的服务商,Zego即构自己的房间列表,本文只是测试功能用,相应代码并没完全测试,请选择性参考. 我们在UE4中来实现一下,我感觉这个过程有点意思,UE4中C++与蓝图和UI的互 ...
- 网络协议之:sctp流控制传输协议
目录 简介 TCP有什么不好 sctp的特点 总结 简介 要讲网络协议,肯定离不开OSI(Open System Interconnection)的七层模型. 我们一般关注的是网络层之上的几层,比如I ...
- Android IOS WebRTC 音视频开发总结(八十五)-- 使用WebRTC广播网络摄像头视频(下)
本文主要介绍WebRTC (我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:bl ...
- Android IOS WebRTC 音视频开发总结(八十三)-- 使用WebRTC广播网络摄像头视频(上)
本文主要介绍WebRTC (我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:bl ...
随机推荐
- 带你揭开神秘的Javascript AST面纱之Babel AST 四件套的使用方法
作者:京东零售 周明亮 写在前面 这里我们初步提到了一些基础概念和应用: 分析器 抽象语法树 AST AST 在 JS 中的用途 AST 的应用实践 有了初步的认识,还有常规的代码改造应用实践,现在我 ...
- Java学习笔记07
1. API API(Application Programming Interface):应用程序接口. Java中的API 指的是JDK中提供的各种功能的Java类,这些类将底层的实现封装 ...
- include-file
0X01 前言 这篇文章介绍文件包含漏洞. 0X02 最常见的两个函数的形象解释: 我们知道文件包含最常见的是两个函数 include() require()(这里就不谈他们的亲戚 include_o ...
- 明解STM32—GPIO应用设计篇之API函数及配置使用技巧
一.前言 本篇开始对STM32的GPIO在实际开发设计中的使用配置和技巧进行探讨,可以先去回顾下之前介绍的GPIO的相关理论基础知识包括基本结构,工作模式和寄存器原理. 了解过STM32的GPIO相关 ...
- 一文彻底搞懂ZAB算法,看这篇就够了!!!
最近需要设计一个分布式系统,需要一个中间件来存储共享的信息,来保证多个系统之间的数据一致性,调研了两个主流框架Zookeeper和ETCD,发现都能满足我们的系统需求.其中ETCD是K8s中采用的分布 ...
- 关于 import 和 import static
import 嘛,就是导包.比如说java的一些自带的包,例如 import java.lang.Matn: 又或者我们自己做的包,例如 import com.link.testImport; 一些实 ...
- Prism Sample 22-ConfirmCancelNavigation
导航到一个视图,如果在离开这个视图时需要确认,在VM中实现以下接口 public class ViewAViewModel : BindableBase, IConfirmNavigationRequ ...
- 2022-10-31:以下go语言代码输出什么?A:map[];B:nil;C:Panic;D:编译错误。 package main import “fmt“ func main() {
2022-10-31:以下go语言代码输出什么?A:map[]:B:nil:C:Panic:D:编译错误. package main import "fmt" func main( ...
- 2023-05-15:对于某些非负整数 k ,如果交换 s1 中两个字母的位置恰好 k 次, 能够使结果字符串等于 s2 ,则认为字符串 s1 和 s2 的 相似度为 k。 给你两个字母异位词 s1
2023-05-15:对于某些非负整数 k ,如果交换 s1 中两个字母的位置恰好 k 次, 能够使结果字符串等于 s2 ,则认为字符串 s1 和 s2 的 相似度为 k. 给你两个字母异位词 s1 ...
- Django context must be a dict rather than UserProfile.
context must be a dict rather than UserProfile. # 主页@login_requireddef index(request): data={} data ...