随着移动互联网的发展,视频通信使用场景越来越多,如视频聊天、视频会议、在线直播等。但是随之而来对前端设计的要求、对后端服务器的要求也不断增加。所以如何搭建一个完善的服务器以适合视频通信,是每个视频通信研发人员都关注的问题。
一个完善的音视频服务器需要解决高并发、低延迟、NAT穿透和扩展性负载均衡等问题,我们关注这个方向已有一年多,下面是总结的部分经验:
关于高并发
在这里主要介绍了如何设计互联网分布架构以提高系统并发能力。
有两种常用的方法:垂直扩展(Scale Up)与水平扩展(Scale Out)。
一、采用垂直扩展来提升单机处理能力。
写代码时,我们能做的优化可分为三类:架构优化、算法优化和语言优化。
架构优化:如用异步IO来增加单服务器吞吐量,多线程的时候通过减少锁的使用来提高服务器性能等。
算法优化:其在服务器中比较少见,因为服务器逻辑代码里通常没有繁琐的算法,但是如果有能优化的空间,还是要进