Microsoft Web Farm Framework (WFF) 2.0 是微软开发的、基于IIS 7.x的小插件,能够帮助我们轻松实现Web网站的高性能、高可用性,用来在Web服务器群上提供和管理系统,从而使得集群的软件组件安装和配置成为可 能,另外它还支持对ASP.NET应用的自动配置。WFF可以被集成到负载均衡系统,也可以通过配置来更新群里面的服务器,而且只需在某个时间停掉和更新 一台服务器,而不需要停掉整个网站。如果想做基于IIS的反向代理,用WFF是一个不错的选择。
WFF包含了目前Web层面负载均衡,常见的功能如下:
Web Farm同步
1、应用程序同步:应用同步可以将Web应用程序的内容(aspx、html、config等文件)在Web Farm内的多台服务器之间进行自动或手动同步,从而保证Web Farm内部,所有Web应用内容的一致性。
2、平台同步:同步Web 应用程序所需的平台内容(比如:.NET 4.0 Runtime、PHP、ASP.NET MVC等)。保证了Web Farm内部,平台级别的一致性
负载均衡
Web Farm内部有多个Web服务器,请求过来以后,会真正的被哪台服务器处理?这需要用到WFF的负载均衡策略。WFF 默认提供了几种策略,比如:加权轮询、加权总流量等。根据这些策略,可以实现请求的分配。
监控和管理
WFF允许查看当前Web Farm内服务器的运行状况,包括:Web 服务器是否健康、接受了多少请求、每台服务器的总流量是多少。同时还能测试某台服务器是否处于运行状态。另外还允许我们暂时停用某台服务器,请求就不会路由到停用的服务器。
缓存
对于部分变化不大的内容,可以采用缓存的方式。缓存有两种,内存缓存和磁盘缓存。缓存可以降低网络内部的流量,提高响应速度。
严格来说,以上这些功能不是依靠WFF一个工具实现的,而是以WFF为中心的一系列工具实现的,其中包括:Microsoft Web Farm Framework (WFF) 、Web Deployment Tools(WDT)、URL Rewrite、Application Request Route(ARR)、External Cache等小工具。这些工具可以集成在Web Farm中配合工作,也可以单独安装使用。工具多了点儿,不过安装起来不算太麻烦。在WFF的安装包会自动帮你下载和安装这些它依赖的工具
微软的副总裁Scott Guthrie,此前写了一个WFF是什么以及如何使用它的详细介绍。在某个服务器群需要提供和管理服务器时,WFF可以被用来执行所有的任务,从而有效减少以下均须多个手工步骤来完成的操作 :
- 在服务器上安装IIS、ASP.NET和所有的核心平台组件
- 安装和配置定制的IIS模块(如UrlRewite、媒体服务等)
- 配置IIS应用池和站点
- 为像HTTPs端点这样的事情启动SSL认证
- 跨服务器复制和同步合适的站点/应用/内容
- 通过HTTP负载均衡系统分配负载来协调不同的Web服务器
FWFF允许运营人员(管理员)在服务器上安装IIS、ASP.NET、SSL认证,以及配置新的IIS应用池,然后将配置复制到其他的系统。应用提供也是以这样的方式工作,比如一个应用被安装在一台服务器上,然后WFF跨服务器对它进行复制。
安装配置负载均衡
话不多说,为了实现一个比较完整的负载均衡,我们要引入以下5个组件。
这里特殊说明:微软的东西真是好复杂,各种环境不兼容导致安装失败,下面列出注意的地方: 首先,我是在windows server2008系统下面安装: 1、web deploy 2.0(记住不是3.0) 2、web platform3.0 (记住不是5.0) 3、web farm 2.0 如果是windows server2012, 则默认是最高版本
安装Web Fram 必须要先安装Web Deploy 和Web Platform,所以我把它们俩放在最前面,你也可以参考上面的顺序来安装,当然你首先得自己把IIS和ASP.NET 模块给装上。我们这次不会对这5个组件的原理做详细的介绍,大家知道怎么操作就可以了,如果有兴趣的同学可以继续深入。安装过程非常的简单,基本上每一个 组件只需要点一下按钮就可以了,全部安装完之后,你就会在当前那台机器上的IIS下看到一个Server Farms的结点。
5个组件都分别起到了什么作用。
- Web Deploy : 参与Application Provisioning(网站内容及配置同步)
- Web Platform Installer: 参与Platform Provisioning( 应用环境同步)
- Web Farm: 主要组织者及容器
- Application Request Router: 负载均衡处理
- URL Rewrite: 入站请求匹配等
参考文章:http://www.cnblogs.com/shanyou/archive/2011/01/31/1948507.html
http://www.cnblogs.com/jesse2013/p/dlws-loadbalancer2.html