LVS+Keepalived+nginx-rtmp-module搭建流媒体服务器集群
架构
机器配置
管理IP地址 |
角色 |
备注 |
192.168.70.240 |
LVS负载均衡服务器(Director server) |
对外提供服务的VIP为192.168.70.73(不存在的虚拟IP) |
192.168.70.241 |
流媒体服务器1(Real server 1) |
|
192.168.70.242 |
流媒体服务器2(Real server 2) |
服务器架构
由于流媒体服务数据量比较大,要支持高并发的请求,对服务器架构和网络带宽要求比较高。
流媒体服务器(以下简称RS)主要是读取视频文件,传输数据,对CPU和内存消耗较小,但是会受到网卡和IO的限制。当然,系统会对文件做cache,因此IO限制在首次和频繁换入时影响较大。
在达到网卡最高限制后,无法为更多的用户提供视频点播服务。因此,除了要求千兆网卡、万转硬盘,我们采用LVS负载均衡,搭建服务器集群,如果需要支持更多的并发扩展方便。
LVS采用DR模式,用户所有的请求经过LVS服务器(以下简称DS),DS根据负载均衡调度算法转发给RS,RS收到将响应的数据包直接返回给用户端。DS只负责请求转发,因此不会成为节点瓶颈。
此外,DS安装keepalived,对RS1和RS2进行心跳监控,及时发现服务器故障节点,并切换至正常的流媒体服务器节点。
网络架构
DS、RS1和RS2需要保证在同一个物理网段。
首先,RS1和RS2建议直接接入核心交换机,需要保证RS1和RS2到核心交换机分别占用独立的1Gbps的带宽。
其次,用户PC的接入交换机在连接到核心交换机的路径中不能有节点瓶颈,即所有的用户到核心交换机的带宽保证大于2Gbps,这样流媒体服务器才不会被PC的交换机的带宽限制。
架构
机器配置
管理IP地址 |
角色 |
备注 |
192.168.70.240 |
LVS负载均衡服务器(Director server) |
对外提供服务的VIP为192.168.70.73(不存在的虚拟IP) |
192.168.70.241 |
流媒体服务器1(Real server 1) |
|
192.168.70.242 |
流媒体服务器2(Real server 2) |
服务器架构
由于流媒体服务数据量比较大,要支持高并发的请求,对服务器架构和网络带宽要求比较高。
流媒体服务器(以下简称RS)主要是读取视频文件,传输数据,对CPU和内存消耗较小,但是会受到网卡和IO的限制。当然,系统会对文件做cache,因此IO限制在首次和频繁换入时影响较大。
在达到网卡最高限制后,无法为更多的用户提供视频点播服务。因此,除了要求千兆网卡、万转硬盘,我们采用LVS负载均衡,搭建服务器集群,如果需要支持更多的并发扩展方便。
LVS采用DR模式,用户所有的请求经过LVS服务器(以下简称DS),DS根据负载均衡调度算法转发给RS,RS收到将响应的数据包直接返回给用户端。DS只负责请求转发,因此不会成为节点瓶颈。
此外,DS安装keepalived,对RS1和RS2进行心跳监控,及时发现服务器故障节点,并切换至正常的流媒体服务器节点。
网络架构
DS、RS1和RS2需要保证在同一个物理网段。
首先,RS1和RS2建议直接接入核心交换机,需要保证RS1和RS2到核心交换机分别占用独立的1Gbps的带宽。
其次,用户PC的接入交换机在连接到核心交换机的路径中不能有节点瓶颈,即所有的用户到核心交换机的带宽保证大于2Gbps,这样流媒体服务器才不会被PC的交换机的带宽限制。