扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
大型网络服务商在提供网络服务时,会遇到一些并发请求量很大的情况,电影网站是其中较为典型的一个服务案例。比如某些热门影片资源服务器服务或者是在服务高峰期的影片资源服务器都会遇到大并发的请求量。这时, SERVICE会接收到大量客户端,甚至长时间的请求,对service,甚至整个系统是严峻的考验。遇到这种情况,单个的server往往难以应付,或者性能不好,我们就想到负载均衡,下面笔者根据自己在使用VIEWGOOD流媒体平台过程中的结果对相关的问题进行一些探讨。
负载均衡(Load Balance)
由于目前现有网络的各个核心部分随着业务量的提高,访问量和数据流量的快速增长,其处理能力和计算强度也相应地增大,使得单一的服务器设备根本无法承担。在此情况下,如果扔掉现有设备去做大量的硬件升级,这样将造成现有资源的浪费,而且如果再面临下一次业务量的提升时,这又将导致再一次硬件升级的高额成本投入,甚至性能再卓越的设备也不能满足当前业务量增长的需求。
针对此情况而衍生出来的一种廉价有效透明的方法以扩展现有网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性的技术就是负载均衡(Load Balance)。
各种软件使用的负载均衡策略都不尽相同,在这里,我们以VIEWGOOD的流媒体平台WebMedia为例,具体直观的说明一下关于电影网站的如何实现负载均衡。
在VIEWGOOD的流媒体平台系统中,不需要单独的负载平衡服务器,WEB服务器的负载平衡由WEB服务器自己承担,而点播、直播服务器的负载平衡由负载平衡服务器(与认证计费服务器共用)承担。
如果在系统运行过程中,发现系统的负载能力不够时,可以随时添加WEB服务器、点播服务器、直播服务器,无需停止服务,只需要在系统服务器参数表中把服务器相关信息添加进去即可,真正做到7×24小时不间断运行。另外,与VIEWGOOD流媒体平台中CDN内容分发一样,VIEWGOOD的负载是全网负载。很多厂商将Microsoft公司的MediaService与Real公司的Helix 系统做集成,解决不同格式的支持问题。但多种类视频服务结构下,负载均衡只能在相同视频服务系统间进行;比如一共有6台媒体服务器,其中2台MediaServer、2台RealServer、2台MPEG视频流服务,如果用户点播了WMV节目,则只能在2台MediaServer之间进行负载均衡,将其负载分配到RealServer或MPEG视频服务系统所在服务器是没有意义的;因此,如果某一时刻用户点播相对集中于某一格式的节目,则就会发生该格式对应视频服务无法支撑、而其他格式的视频服务器又过于空闲的情况。
WEB服务器负载平衡
当大量用户同时访问网站(一般是广域网网站),一台WEB服务器提供不了这么多负载时,则需要使用多台WEB服务器进行负载平衡(本处讲述的是平台自身提供的负载平衡,客户当然也可以直接使用硬件负载平衡)。
用户首先要有一台WEB服务器作为门户网站,然后可根据实际情况设置各台WEB服务器的服务区域,当用户访问门户网站时,首先会根据用户的IP地址判断用户属于哪个区域,然后将用户的连接重新定向到对应服务区域的那台WEB服务器上,如果没有指定服务区域,或者对应服务区域的WEB服务器连接数已满,则系统会自动比较哪台WEB服务器相对负载最轻(CPU、内存、网络带宽、连接人数等),将用户的访问重新定向到相对负载最轻的那台WEB服务器上。此用户的页面访问都在这台服务器上进行,直到此用户断开连接。
WebVOD模块负载平衡
当大量用户同时点播节目时,一台VOD服务器提供不了这么多负载时,则需要使用多台VOD服务器进行负载平衡。
首先根据实际情况定义各台服务器的角色,主服务器还是边缘服务器,或者身兼两职。然后根据区域对边缘服务器进行分组,接下来系统会通过CDN将节目分发到各台服务器上。最后再设置各台服务器的服务区域,是优先服务该区域还是只服务该区域,或者是禁止对某区域服务。如果设置为优先服务,则该服务器可以对不在服务器区域的用户提供服务;如果设置为只服务该区域,则服务器对除了该区域以外的所有用户均不提供服务;而设置为禁止对某区域服务,则服务器对除了该区域外对的所有用户提供服务。
当用户点播请求送到负载均衡服务器时,负载均衡服务器会根据用户所在的区域,判断有没有对应服务区域的边缘服务器,如果有对应的服务器,并且用户请求的节目在多台服务器上存在,则系统会自动比较哪台视频服务器相对负载最轻(CPU、内存、网络带宽、连接人数等),将用户的访问重新定向到相对负载最轻的那台视频服务器上。此台流媒体服务器把视频节目以流的形式直接传输给点播用户。
如果没有对应区域的服务器或者没有设置服务区域,则系统自动在所有可用的服务器(有用户请求的节目,并且不禁止该区域)中指定一台相对负载最轻的视频服务器,将用户的访问重新定向过去,由此台流媒体服务器把视频节目以流的形式直接传输给点播用户。
系统提供高效的流量平衡和在线用户数管理机制,最大限度保证用户的访问质量。支持各节点之间的本地动态负载均衡以及全局动态负载均衡,支持多种负载均衡策略,可根据在线用户数量、系统负载等分配流量;
WebIPTV、WebLIVE服务器负载平衡
WebIPTV、WebLIVE模块和WebVOD模块不同,一般情况下点播服务器上会存储上万部不同的视频节目,而直播服务器一般情况下只直播几个固定的频道。所以直播服务器的负载平衡主要有两种方式:
采集工作站直接把采集到的视频流传输到各台发布服务器上,由各台发布服务器直接发布。这种方式的延时最小、效果最好,但是采用这种方式要求采集工作站的网络带宽(主要是上传带宽)较高,带宽大小要大于:每路采集码流×采集路数×直播服务器数量。
采集工作站先把采集到的视频流传输到其中一台发布服务器上,然后再由这台服务器传输到其他各台发布服务器上,然后再进行发布。这种方式的延时稍长(中间经过了转发),但是采用这种方式对采集工作站的网络带宽要求大大降低(上传带宽大于:每路采集码流×采集路数)。
这两种方法各有利弊,具体采用哪种方法要根据采集工作站的带宽情况来选择(上述主要针对广域网中的应用,如果针对局域网和部分城域网的应用,则可以利用VIEWGOOD平台的组播功能,则上传带宽则等同于每路采集信号的上传带宽)。
用户直播请求送到认证计费服务器,认证计费服务器判断用户直播请求的节目在哪几台直播服务器上能提供服务,然后再判断这几台直播服务器中哪台相对负载最轻,就把请求发给这台直播服务器,此台流媒体服务器把视频节目流直接传输给直播用户。
在此,通过VIEWGOOD流媒体平台中使用的负载平衡介绍,我们已经对于在影视网站中如何实现负载平衡有了一个具体的了解。欢迎各位共同探讨关于在流媒体平台中各项技术的应用。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。