FMS流媒體服務器集群


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM