【51CTO独家特稿】其实在我***次打开Windows Media Server 2008 整体配置界面后,我就傻眼了,怎么和2003下面的一模一样啊~~ 天哪,5年过去了,我等来的就是这么一个结局么?哦哦,等等,还是有所不同的,这里所谓的不同,就是我们以前在Windows Server 2003下面所看到的“缓存和代理管理(Cache / Proxy Manager)”选项终于可以被展开了,还记得当时在2002年初的时候,我就说这个功能很好玩,啥时候会推出呢?结果这一等,就是整整5个年头。
缓存/代理功能的用途
我们可能接触过很多案例,如果在大量的使用者使用单一的Windows Media Services 服务器的环境下,管理网络带宽与服务器资源是非常困难的,服务器常常因为性能瓶颈而对用户端造成问题。除此以外,单台服务器可能造成无法访问视频或音频资料,如果要修正这类问题,系统管理员往往是采用负载均衡或者增加主机的配置以求得性能的提升,现在可以使用Windows Media Services Cache/Proxy的功能。
Windows Media Services 可心之处在于可以使用缓存和代理,在访问者请求时从发布点传送流式信息给客户端。缓存的意思就是Windows Media Services将内容从原始服务器复制到本地,有缓存服务器直接传送给用户电脑,而代理的设置则是使用多台配置了Windows Media Services的服务器负责传送请求至其他流媒体服务器,图1提供了典型的服务器组网案例。
图 1 Cache/Proxy 服务器增加延伸性与性能
在此图中,作为“源”的Media Server 只提供了分布在不同网络中的缓存和代理服务器进行的访问,而这些分布式的服务器才是为最终用户提供流式服务的“源”。这种方法不但为服务器减轻了压力,将客户端分摊开,最主要的另一个特性就是让用户根据网络状况可以访问到距离他们最近的服务器,这样才能享受最为流畅的视频体验。
启用缓存与代理功能
默认情况下,新安装完成的Windows Media 服务器停止了缓存/代理服务器或反向代理服务的功能。要开启这项功能,首先要打开Windows Media 服务控制台,然后选择服务器的“属性”标,签,在“WMS 缓存代理”上点击右键,在快捷菜单中选择“启用”,如图2所示。
图 2 启用缓存代理功能
管理缓存功能
在部署Windows Media Services 时,可以在单一服务器上配置多种角色。例如,可以同时提供点播、广播服务的发布点,也可以作为缓存代理服务器来取得其他服务器的内容。
下面来看一下如果控制缓存和代理功能的设定。在图 2中的快捷菜单中选择“属性”后,我们发现在“常规”面板中,可以看到已经起用的代理和缓存状态,还可以选择源服务器与缓存代理服务器之间的流媒体使用的协议方式,默认的是依据用户端使用的协议而定。而在“缓存”面板中,如图3所示,包含了磁盘空间限制、缓存目录、缓存速度,以及清理缓存的设置。例如,设置缓存目录属性时,如果设定了“限制磁盘配额(MB)”,那么在达到该配额时,系统会从尚未传递到客户端的最旧项目开始,将缓存的内容从缓存目录中删除。在没有为该缓存目录指定存储容量的情况下,如果没有足够的空间可用于存储更多的缓存内容,则系统会从尚未传递到客户端的最旧项目开始,将缓存的内容从缓存目录中删除。另外的“限制每流的存档配额(KB)”选项,这个功能可以根据实况流创建的任何单个点播文件的磁盘空间量。
图 3 缓存设置
至于“启用更新检查”的选项可允许此服务器在客户端请求已缓存的内容时检查该内容的缓存过期属性。设定此功能后,服务器将会拿现在的内容与源服务器上的资源进行比较,另外,如果源服务器不可用或不能提供请求的内容,则此服务器会向客户端返回一条错误消息,表明找不到该内容。如果你属性其他缓存服务器的设定,例如ISA 2006 ,那么对于这部分内容的操作是非常熟悉的。
当然,我们在启用缓存时,会担心文件必须都从源服务器下载到缓存服务器后,客户端才能够访问到视频,其实这也是传统缓存服务器的弊病之一,现在只要你配置了“启用存档时播放”这个功能,就可以允许此服务器无需等到来自源服务器的内容已完全缓存即可开始传输由客户端请求的内容,默认情况下部分缓存的文件在缓存开始之后 60 秒可用作点播之用。
***一个磁盘选项是针对实际应用的,针对大量的混存内容,可以设定缓存目录路径,默认值是 %systemdrive%\WMSCache,一般情况下是需要调整到非系统引导磁盘的,如D和E盘,并且这些磁盘***是高速的传输介质。
在配置“缓存速度”部分,指的是虚则此服务器从源服务器缓存内容的速度的选项,这包括:***可用带宽、内容比特率等。我们需要注意是,对于多比特率内容,缓存速度与内容的平均比特率相同,这个选项用户多台缓存服务器读取相同源服务器的情况。
管理代理功能
Windows Media Services 服务器也可以处理客户端的要求,以降低源服务器的流量。如图4中的代理设置,这包含了代理、代理重定向和还原代理三种选项:
图 4 代理设置
启用“代理”的意思对于客户端,代理就是源服务器。而“代理重定向”选项可将客户端请求重定向到缓存/代理服务器组中的其他服务器,这通常用于负载均衡的架构,此时需要在“备用代理”框中键入备用服务器的名称,将客户端连接到较近的代理或将客户端指引到已缓存的内容。
“还原代理”作用是将此服务器用作反向代理服务器,然后在“内容服务器”框中键入要将客户端对内容的请求转发到的服务器上的发布点名称,如:“Media01.51cto.com /Caching”,也可以直接写入服务器的名称,如 Media01.51cto.com。
不过需要注意,使用“还原代理”时,服务器前面不要填写如HTTP和MMS这样的协议,直接输入DNS全程或者IP地址即可。
测试使用缓存与代理功能
在发布点上使用缓存与代理功能,要保证源服务器已经配置了缓存和代理,此时可以打开发布点,如图5所示,可以看到其属性中已经启用了缓存和代理选项。这样就可以允许下一级缓存/代理服务器缓存内容,否则的话,仍然是把每个请求内容的客户端都与源服务器建立连接了,所以请在部署时注意到这一点。
图 5 启用发布点的缓存和代理功能
好了,让安装一台全新的Windows Media Services服务器,名称比如为Cache. 51cto.com,然后将在服务器的代理和缓存选项中启用了“还原代理”,并将服务器的名称填写为“Media01.51cto.com”。之后,在Cache. 51cto.com这台服务器上的测试结果是8个客户端同时连接,此时神奇的效果出现了,真正的源服务器(Media01.51cto.com)上只出现了一个客户端的连接,而代理和缓存服务器上的效果如图6所示,这明显减轻了源服务器的负载。
图 6 缓存代理服务器上的监视效果
当然,如果是在内网中,这样的应用更容易部署,只需要在客户端的Media Player播放器中变更代理服务器的连接。
代理与缓存功能结合应用
从使用代理功能可以看到,Media Services 中可以部署到CDN(Content Delivery Network,即内容分发网络)网络中。这样就可以通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,解决Internet网络拥挤的状况,提高用户访问网站的响应速度。这种内容发布网络是一种新型的网络构建方式,它是为能在传统的IP网发布宽带丰富媒体而特别优化的网络覆盖层。
CDN包括了:分布式存储、负载均衡、网络请求的重定向和内容管理4个组件,而内容管理和全局的网络流量管理(Traffic Management)是CDN的核心所在。使用CDN中的Media Services时,用户就近判别服务器的负载情况。多媒体业务如果基于代理缓存(Surrogate)的部署方式,它将使得用户访问的资源距离自己非常的“近”,我们称为“一跳”(Single Hop)之遥,这也是如今,以至于未来流媒体业务的发展方向。
在实际部署或者将Media Services服务器上线时,你还可以使用到“预填充”功能,也就是说这项功能可以把测试的服务器先把需要代理的内容下载到本地的缓存目录,输入对应的服务器名称和URL后,点击“预填充”按钮即可。
图 7 预填充
当然如果要针对大量的使用者提供流媒体服务内容,我们也不是空想出来的,可以通过Windows Media Services 中的Windows Media Load Simulator 这个免费的工具模拟使用者的活动情况。对于这个工具,则可以在
http://www.microsoft.com/windows/windowsmedia/forpros/serve/tools.aspx
页面中获得下载。
【51CTO独家特稿,合作站点转载请注明原文译者和出处。】
【编辑推荐】