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(流媒體)