当面对大规模商用环境时,Wowza Streaming Engine 4可以通过分布式部署来扩展媒体流处理性能,以支持大部分用户。
这些分布式部署技术包括负载均衡、源-边缘架构、实时流推送等。
在多个Wowza Streaming Engine4服务器之间,可以实现负载均衡功能。在实施负载均衡部署时,Wowza Streaming Engine 4被划分为两种类型:
1、边缘(Edge)服务器:
边缘(Edge)服务器是配置了一个叫做ServerListenerLoadBalancerSender模块的Wowza Streaming Engine 4服务器。这个ServerListenerLoadBalancerSender模块将周期性(大约每隔2.5秒)的通过UDP向一台(或多台)Load Balancer服务器发送自己的负载和状态信息。
2、 Load Balancer服务器:
Load Balancer服务器是配置了一个叫做ServerListenerLoadBalancerListener模块的Wowza Streaming Engine 4服务器。这个ServerListenerLoadBalancerListener模块将保持跟踪每一个与它通信的edge服务器的负载和可用性。
当一个客户端播放器开始请求播放时,首先会请求Load Balancer服务器,而Load Balancer会根据当前集群中各个服务器的负载信息,将负载最低的一个Wowza服务器通过重定向的方式推荐欸客户端,因此只要客户端播放器支持标准的302重定向即可实现负载均衡功能。
Wowza Streaming Engine 4具备实时流中继功能,它是一个直播流通过多台服务器来提供大规模用户的一种方法(可以配合负载均衡功能来使用)。它采用了源/边缘(origin/edge)架构,其中原始输入流由源(origin)服务器发布,由多台边缘(edge)服务器来向大规模用户提供直播服务。
Wowza Streaming Engine 4可以让你通过Real Time Messaging协议(RTMP)、MPEG-2 Transport Stream (MPEG-TS)以及Real-time Transport 协议(RTP)将一个直播流推送到另一个远端的服务器上。例如CDN或其它运行Wowza Streaming Engine 或 Adobe Media Server的服务器,从而可以支持更大规模的用户。
Wowza Streaming Engine 4系统使用一个映射文件,来建立输入流到推送目的地的映射,同时这个文件可以被动态更新。此外,一个输入流可以被推送到多个目的地址上。
Wowza Streaming Engine 4将对接收到输入进行监听,同时会检查位于服务器安装目录下的/conf/PushPublishMap.txt映射文件,将实时流推送到这个映射文件中定义的目服务器。这个映射文件被用于建立输入流和推送目的服务器之间的映射。映射文件中的每一行都代表了一个输入流以及要推送的目的服务器。通过为一个输入流在多行配置多个目的地的方式可以实现一个输入流被推送到多个目的地的需求。在Wowza Streaming Engine 的运行时刻,映射信息可以被实时的添加和修改。但是修改并不会影响已经发布到服务器上的流。只有在映射信息被修改后发布到服务器上的流才会收影响。
映射信息的格式如下:
[src-stream-name]={profile:["profile"], [additional-configuration-items]}
例如,使用RTMP协议将一个名为myStream的流推送到另一个Wowza Media Server上, 在PushPublishMap.txt 文件中的映射信息看起来如下所示:
myStream={profile:"rtmp", streamName:"myStream", host:"www.mydestination.com"}
每一个映射信息都引用了一个Profile,它定义了Wowza将采用什么方式来推送这个流。所有可用的Profile都定义在[install-dir]/conf/PushPublishProfiles.xml文件中。Wowza支持以下profile:
从Wowza Streaming Engine 4开始,Wowza提供了一个基于WEB浏览器的管理与控制平台,称之为Wowza Streaming Engine Manager。其功能包括对Wowza 应用的创建和配置、转码的配置、实时流中继的配置,以及服务器状态的监控。
(首界面、服务器状态检测)
(创建应用向导)
(创建应用的第一步:输入应用名)
(一个直播应用的基本配置)
(对某一个应用的状态监控)
(对一个应用下接收到的输入流进行监控)
(从内容源拉流到wowza的配置)
Wowza Streaming Engine 是基于Java开发的,并提供丰富的Java API。通过这些API,你可以对Wowza Streaming Engine进行功能扩展,以符合自己的需求。
同时,Wowza 为了方便开发者进行二次开发,还提供了Eclipse 扩展插件Wowza IDE,开发者通过这个IDE可以快速在Eclipse中搭建好自己的开发环境。
公司名称:北京哲想软件有限公司
北京哲想软件官方网站:www.cogitosoft.com
北京哲想软件微信公众平台账号:cogitosoftware
北京哲想软件微博:哲想软件
北京哲想软件邮箱:[email protected]
销售(俞先生)联系方式:+86(010)68421378
微信:18610247936 QQ:368531638