音视频通信是什么?如何搭建新视频通信的服务器架构呢?

聚通达 2020-04-23 11:53:50

随着数字时代的来临,视频通信逐渐成为了人们交流的主要方式,在相隔较远的地方,使用视频聊天、会议都是十分便捷的。而随着技术的提升,企业对新视频通信的要求也越来越多,所以,如何搭建一个优质的服务器架构是每一个视频通信研发人员都关注的问题。

聚通达科技经过多年的研究,对解决音视频通信中常见的高并发、低延迟、NAT穿透和扩展性负载均衡等问题已有十分成熟的经验,那么,下面就为大家分享一下相关的经验吧。


一、采用垂直扩展来提升单机处理能力。


写代码时,我们能做的优化可分为三类:架构优化、算法优化和语言优化。


架构优化:如用异步IO来增加单服务器吞吐量,多线程的时候通过减少锁的使用来提高服务器性能等。


算法优化:其在服务器中比较少见,因为服务器逻辑代码里通常没有繁琐的算法,但是如果有能优化的空间,还是要进行优化。


语言优化:比较常见的优化方式,比如const加引用传参,比如复杂对象遍历时前置加加与后置加加等,具体看参阅《effective c++》和《more effective c++》。当然,如果有数据库,那么SQL语句的优化也算。


代码写好以后,在通过Linux下的gperftools、Windows下的vs、Mac下的xcode都能进行集成性能分析。


这些性能分析工具能帮助你大致定位到哪一行代码占用了CPU时间。对于这种主要由于占用CPU、内存不够和网卡而导致的服务器性能不高,提升硬件还是非常有效的。


但是单机性能总是有极限的,会受到时代技术的限制。所以互联网分布式架构设计高并发的解决方案还是要依靠水平扩展。


二、采用水平扩展来增加服务器数量,以扩充系统性能


这点与互联网的分层架构有关,在互联网的分层机构中,各层次水平扩展的实践是不同的,比如:反向代理层通过“DNS轮询”的方式;站点层通过nginx来进行,而服务器则主要依靠服务连接池。在各层实施水平扩展后,通过增加服务器数量的方式,可以在理论上做到系统性能的无限提升。


简单说就是,活太多时一个人干不完,多个人一起干。然后牵扯到多个人,必然会涉及到调度分配管理的问题。


关于低延时


低延时是所有视频通信研发人员都会关注的一个点,更低的延时必将提升用户使用体验。可是如何做到低延时呢?


聚通达科技采用了如下的方法:服务器采用udp协议传输音视频数据、tcp协议传输控制信令,以此来保证控制信令可靠且音视频数据传输延时低。


众所周知,UDP协议与TCP协议相比:采用UDP协议传输数据可能导致数据丢失,但客户端接收信息延时低;而TCP协议有丢包重传策略,但速度不快。我们的产品在使用时,将这二者结合,以确保UDP在接收到的包不完全时也能正常解包。


关于NAT穿透


视频聊天的一大技术难点就是服务器的网络带宽占比过高。使用NAT穿透方案,客户端在通信时可以采用P2P的方式。P2P方案能够使A客户端的视频数据不经过服务器到达B客户端,在降低服务器带宽消耗时保证传输低延时。


那么如何实现NAT穿透呢?我们首先需要知道NAT的特性:NAT会拒绝陌生来源的数据包。简单来说,如果NAT后不存在向某个NAT之外的主机发送过数据的主机,那么外部主机就不能主动发送数据包到NAT之后的主机。


一种可行的方案,是利用一个信令服务器,先获取客户端暴露在NAT上的IP:PORT信息,再协调两个客户端,朝其NAT上暴露的IP:PORT发送信息。由于处于NAT(这里设为NATA)后的机器向另一个NAT(这里设为NATB)后的设备发送信息了,NATA就会允许NATB后的主机的数据。反之亦然。


但是还有个要点需要注意:先发送数据的客户端的第一个数据包会被NAT丢弃,因为对方NAT并不知道该如何分配这个未知来源的数据包。NAT穿透完整的解决方案可以参考RFC5389协议,根据协议实现。


关于扩展性强,负载均衡


客户端从负载均衡服务器获取转发服务器地址,负载均衡服务器根据客户端的身份以及从节点服务器的带宽流量、CPU情况等,智能分配给客户端合适的服务器地址,在保证资源有效利用的同时又避免服务器过载。这样的设计在提高了可扩展性的同时能够在从节点无缝加入主节点。


以上便是音视频通信在搭建服务器环境时所需要注意的几个地方,聚通达科技拥有专业的视频服务团队,在开发音视频通信的项目上有着多年经验,欢迎有需求的企业前来咨询。

推荐阅读

企业想要开发一个优秀的网站需要多少钱?

随着互联网从业人数的增多,网站开发的技术也逐渐普遍,然而这并不意味着开发网站便容易了,反而需要考虑到更多的事情。对于企业来说,一个网站意味着公司的门面,甚至不惜花费大价钱来制作网站。那么,像开发一个优秀的网站需要多少钱呢?

如何理解CRM 系统,CRM系统对企业起到什么样的作用?

CRM,中文名客户关系管理,可市面上很多号称CRM软件都仅仅只实现了客户资料的管理(录入查看),距离完善的客户关系管理差距还很远。

齐心铸梦,云启智能 | 聚通达十二周年庆典暨誓师大会隆重举行

齐心铸梦,云启智能 | 聚通达十二周年庆典暨誓师大会隆重举行

贵州茅台集团新媒体工作组莅临聚通达参观考察

贵州茅台集团新媒体工作组莅临聚通达参观考察

微信小程序开发价格多少,开发一个小程序多少钱?

伴随着微信小程序越来越火,很多商家想借助微信小程序的风口,拓展新的流量渠道,通过不同的玩法存留住客户,从而宣传产生裂变。为了跟上这一波风口,商家就需要提前注册小程序,以免被别人抢去先机,尽快开发出属于自己的小程序,获取大量免费客户,迅速抢占市场。

想定制开发一款自己的微信软件,应该如何去找开发公司

自从微信定制开发投入使用之后,协助了很多企业打破了传统的销售形式,将社交软件变为最棒的推广方式,为商户迎来了崭新的发展机会。

H5页面开发中常见的设计风格有哪些?

设计风格是H5页面在制作过程中的重要部分,为了第一眼就能吸引用户,在设计的时候会根据目标群体的喜好来设计。那么,H5页面开发中常见的设计风格有哪些?

企业信息流广告投放加粉技巧分享

信息流增粉主要分为个人号与公众号,两者都是通过加微信的形式来进行统计,但是对于那条资源转化过来的难以确定。那么,在信息流广告投放时如何提高加粉量呢?

网约车APP开发主要的商业模式有哪些?

随着车辆的普及,网约车的数量也逐渐增多,因此有不少投资者都准备做一个网约车APP来进行牟利。那么,网约车APP开发主要的商业模式有哪些?

北京小程序开发公司哪家口碑好?

北京小程序开发公司哪家口碑好?北京小程序开发公司推荐聚通达科技,拥有专业的小程序开发技术团队,小程序开发实战经验丰富,专业定制,源码交付,售后无忧。

13年 聚通达信赖有我
360° 一站式解决方案
1100+ 数千用户共同见证
7*24 多渠道全面支持
专业服务 强大的定制服务
  • 友情链接
©北京聚通达科技股份有限公司版权所有 京ICP:京B2-20200576 增值电信业务经营许可证:B1.B2-20181554 京公网安备110108003772
长按识别或截图保存关注公众号

©北京聚通达科技股份有限公司版权所有

京ICP:京B2-20200576

增值电信业务经营许可证:B1.B2-20181554

京公网安备110108003772