1.1 部署集群服务器
负载均衡设备不是基础网络设备,而是一种性能优化设备。首先,单个重负载的运算分担到多台节点设备上做并行处理,每个节点设备处理结束后,将结果汇总,返回给用户,系统处理能力得到大幅度提高,这就是我们常说的集群(clustering)技术。第二层含义就是:大量的并发访问或数据流量分担到多台节点设备上分别处理,减少用户等待响应的时间,这主要针对Web服务器、FTP服务器、企业关键应用服务器等网络应用。
那么什么是NAS存储,简单的说NAS存储就是基于专用硬件设备上的、安装特殊操作系统、具有强大用户访问权限管理功能、数据安全保护和恢复功能的文件服务器。
搭建点播模式的流媒体服务器拓扑结构如下:
第一种简单方式,其中的Load Balancer负载均衡可以多种技术,利用DNS配置多个IP指向一个域名或者是利用Nginx反向代理(http://blog.s135.com/post/306/):
第二种可扩展方式:
1.2 部署边缘服务器
边缘服务器工作作用以及工作流程如下:
边缘服务器的配置只要修改配置文件Vhost.xml就可以了,这个配置文件的具体路径是:FMS3安装目录\conf\conf\_defaultRoot_\_defaultVHost_\Vhost.xml,用记事本打开这个文件,作如下修改:
1. 找到<Proxy>节点,修改Mode属性为remote,即:
<Mode>remote</Mode>
2. 修改RouteEntry属性,如:
<RouteEntry>172.28.10.123:*;172.28.14.242:1935</RouteEntry>
3. 重启FMS服务。
4. 如何访问:
nc.connect("rtmp://172.28.10.123");它指向到172.28.14.242 这个源服务器。下面访问的实际地址是:rtmp://172.28.14.242/vod/mp4:test/3d5.mp4
nc = new NetConnection();
nc.onStatus = function(info)
{
trace(info.code);
if (info.code == "NetConnection.Connect.Success")
{
trace("接通");
}
};
nc.connect("rtmp://172.28.10.123/vod/");
res = new NetStream(nc);
view.attachVideo(res);
view.attachAudio(res);
res.play("mp4:test/3d5.mp4");
1.3 Nginx对边缘服务器进行集群以及负载均衡配置
1. Host文件中将域名www.bbkwzk.com指派,配置如下:
127.0.0.1 www.bbkwzk.com
2. 负责负载均衡以及域名指派的边缘服务器配置如下:
upstream所支持的四个常用设置进行说明:
a) 轮询(默认):每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down掉,能自动剔除。
b) weight :指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
c) ip_hash :每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
d) fair(第三方):按后端服务器的响应时间来分配请求,响应时间短的优先分配。
e) url_hash(第三方)
upstream www.bbkwzk.com{
ip_hash;
server 172.28.10.83:80 weight=3;
server 172.28.10.123:80;
}
server
{
listen 80;
server_name www.bbkwzk.com;
location / {
proxy_pass http://www.bbkwzk.com;
proxy_set_header Host www.bbkwzk.com;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_504;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
log_format www_bbkwzk_com '$remote_addr - $remote_user [$time_local] $request '
'"$status" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
}
1.4 前端web服务器配置
前端web服务器host文件配置:
172.28.10.123 www.***.com
127.0.0.1 video.***.com
前端web服务器需要指向流媒体服务器域名:www.bbkwzk.com
server {
listen 80;
server_name video.bbkwzk.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
root C:/FMS4/samples/bbkwzk;
index videoplayer.html;
}
}
1.5 用户客户端配置
用户客户端host文件配置:
172.28.10.53 video.***.com(网站)
172.28.10.123 www.***.com(流媒体)