技术分享| anyRTC之RTN网络

RTN(Real-time Network)中文名:实时音视频传输网络。

RTN是最近几年由各大RTC的云厂商提出的一个全新架构的音视频实时传输网络概念。类似于直播的CDN网络,RTN是对音视频的实时性又强烈要求的场景而设计的,原理上全球端到端的时延通过RTN网络可以控制在300ms以内。

anyRTC是RTC的云厂商中较早一批提出RTN概念的厂商,anyRTC是如何实现RTN网络的呢?下面我们来详细介绍一下:

一.介绍

首先介绍几个专用名词:
A.SN:推流节点 – 多种协议的客户端推流到此节点。

B.RN:路由节点 – 将流路由给不同区域的客户端。

C.GN:拉流节点 – 将流分发给多种协议的客户端。

D.RoutePath:路由线路 – 流从一个区域到另外一个区域的路径。

anyRTC实现的是可配置化的动态RTN网络,网络可大可小,最小的可以只有一台机器,最大的是可以支持千万级的并发,覆盖全球的RTN网络。

在这里插入图片描述

二.实现场景

1.单机版

在这里插入图片描述

单机服务只需要推流和拉流的功能,A用户推流,B用户拉流。

适用场景:
A.测试,不需要复杂的网络架构。

B.业务量较小的私有化音视频通讯场景。

2.进阶版

在这里插入图片描述

如果业务中需要2个服务,这时候必须有RN节点,通过RN节点,可以将区域A的流路由到区域B,反之亦然。

适用场景:
A.内外网穿透:在很多行业中,比如金融,公安,消防等领域,对于网络安全要求非常高,需要做到内外网隔离,通过固定端口进行数据互通。

B.跨区互通:比如一个公司新疆和上海都有业务,如果服务只部署在新疆或者上海,对应的另外一个区域的用户体验就会非常差,通过各自区域部署节点,本国用户用各自的节点,只有在两区域之间有互动时,通过RN把流中转给对方。

C.跨国运营:比如一个公司中国和美国都有业务,如果美国要求本国的数据必须本地化存储和传输,通过各自区域部署节点,本国用户用各自的节点,进行数据存储和传输,只有在两国之间有互动时,通过RN把流中转给对方。

3.高阶版

在这里插入图片描述

多区域的RTN网络,适用于高并发高接入量的应用场景,这时候RN服务独立出来,专门做流路由的工作,SN和GN也可以分离,因为当应对大并发时,拉流的业务需求会多得多。

适用场景:
A.RTC云服务厂商,服务有大量RTC接入或者直播接入的场景。

B.多国运营,针对不同国家提供可落地的个性化服务,结合当地法律适配更多场景的运营策略。

C.更低延时的直播CDN分发,CDN厂家可以使用RTN网络来传输节点之间的数据流,然后在各自的落地点进行直播CDN分发。

D.更高规格的网络安全,在行业内,存在网络的隔离区特别多的业务需求,这时候可以使用多区域RTN部署,解决各个网络之间的透传。

E.垮多运营商,比如移动,联通,电信,沃达丰等,各个运营商之间如果直连效果可能不会太好,此时可以在不同运营商的机房中部署服务,RN节点部署在三线机房,通过RN节点进行数据互传。

三.总结

anyRTC通过可配置化的RTN网络,组建了一张全球的RTC传输网络,anyRTC的RTN网络自上线以来实现了超过1000+天的连续稳定运行,平均每日服务的客户接入量超过50w+。同时不久的将来,anyRTC也会开放RTN网络服务,敬请期待吧!

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/205914.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微服务开发中,使用AOP和自定义注解实现对权限的校验

一、背景 微服务开发中,暴露在外网的接口,为了访问的安全,都是需要在http请求中传入登录时颁发的token。这时候,我们需要有专门用来做校验token并解析用户信息的服务。如下图所示,http请求先经过api网关,网…

云原生正在重塑软件的整个生命周期(内附资料)

随着企业数字化转型进程的发展,企业面临着新旧商业形态的剧变,颠覆和重构时刻都在发生。 企业需要更加快速地感知用户侧的需求变化并做出调整,才有可能在竞争中持续积累优势。业务的个性化、敏捷化、智能化需求日益突显,数字化应…

【Python】Vscode解决Python中制表符和空格混用导致的缩进问题

【Python】Vscode解决Python中制表符和空格混用导致的缩进问题 文章目录 【Python】Vscode解决Python中制表符和空格混用导致的缩进问题1. 问题来源2. 解决Reference 1. 问题来源 在python中使用缩进来进行代码块的分区,通常来说python的一个缩进包含4个空格&#…

[Linux] shell条件语句和if语句

一、条件语句 1.1 测试 test 测试文件的表达式是否成立 格式:test 条件表达式 [ 条件表达式 ] 选项作用-d测试是否为目录-e测试目录或文件是否存在-a测试目录或文件是否存在-f测试是否为文件-r测试当前用户是否有权限读取-w测试当前用户是否有权限写入-x测试当前…

UE4基础篇十五:AI行为树

一、学习完教程后需要掌握知识点 1.1、基础概念: 1.1 行为树:控制并显示AI的决策制定过程 1.2 黑板:可以看做是行为树的创建一些公有变量,外部可以修改行为树黑板的变量值,达到修改行为树状态的逻辑 1.3 环境查询: 获取地图环境中的信息进行一个筛选,查找到所需要的的…

ZLMediaKit安装配置和推拉流

一、ZLMediaKit 库简介 ZLMediaKit 是一个基于 C11 的高性能运营级流媒体服务框架 官方写的项目特点: 基于 C11 开发,避免使用裸指针,代码稳定可靠,性能优越。 支持多种协议(RTSP/RTMP/HLS/HTTP-FLV/Websocket-FLV/GB28181/MP…

法大大携手广西数通科技,助推金融行业数字化变革

自2017年《关于积极推进供应链创新与应用的指导意见》首次对供应链创新发展作出重要部署以来,我国供应链金融业务实现了有效创新发展。数据显示,2022年,我国供应链金融数字化规模达到11万亿元,数字化渗透率约为30%,相比…

思福迪 运维安全管理系统 test_qrcode_b 远程命令执行漏洞

思福迪 运维安全管理系统 test_qrcode_b 远程命令执行漏洞 一、漏洞描述二、漏洞影响三、网络测绘四、漏洞复现1.手动复现2.自动化复现3.python源代码 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任…

看图说话:对脏读、不可重复度、幻读进行总结

1、脏读 「事务B」将 id 为 1 的用户 name 修改为“小卡”,事务未提交。「事务A」查询 id 为 1 的用户数据,此时 name 已为“小卡”。 2、不可重复度 「事务A」第一次读取 id 为 1 的用户,name 是 “卡卡”。「事务B」将 id 为 1 的用户 nam…

聚焦数字化项目管理——2023年PMI项目管理大会亮点回顾

11月18日-19日,由PMI(中国)主办的2023年PMI项目管理大会在上海浦东嘉里大酒店圆满召开。本次大会以“数智时代,汇创未来”为主题,聚焦数智时代大背景下的项目管理行业发展和人才培养,吸引了海内外千余名项目…

微信订房功能怎么做_公众号里怎么实现在线订房系统

微信公众号在线订房系统:一键解决您的住宿问题 在当今数字化时代,微信公众号已经成为人们生活中不可或缺的一部分。它提供了各种各样的功能和服务,让我们的生活变得更加便捷和高效。而如今,微信公众号也实现了在线订房功能&#…

python 水质日历热力图

利用日历热力图可以方便的查看站点水质全年的变化情况。 接口获取站点数据 这一步根据自己实际情况,也可以读取excel、MySQL读取数据。这里把API地址已隐去。 import numpy as np import calendar import requests import json import pandas as pd import time f…