Microsoft Web Farm Framework简介 microsoft framework

[原文发表地址]:Introducing the Microsoft Web Farm Framework

[原文发表时间]:2010/9/8 12:12 AM

上个月我们发布了Microsoft Web Farm Framework的Beta版。我们发布的Microsoft Web Farm Framework是一个免费产品,易于你管理和给养一个Web服务器农场。它允许你在服务器农场里自动安装和配置平台组件,也允许你在其间自动同步和部署ASP.NET应用程序。它还支持负载均衡—并且允许你在服务器间自动升级,这样不会(因维护)停掉或让用户无法访问站点/程序(它可以自动从负载均衡的服务器轮作里拿出一台升级,然后将其放回)。

Microsoft Web Farm Framework下载只要1 MB,并可以安装在IIS 7及以上版本。它是免费的,你可以从这里下载本Beta版的第一个预览包:x86 / x64.

Microsoft Web Farm Framework的用处

运营一个Web农场要求你给养和管理多台服务器,运营一个Web农场需要(还有其它的事情):

1. 在服务器上安装IIS, ASP.NET和所有的核心平台组件。

2. 安装和配置自定义的IIS模块(Url重写,媒体服务等等)。

3. 配置IIS应用程序池和站点。

4. 为HTTPS之类的端点设置SSL认证。

5. 在多台机器上拷贝和同步相应的站点/应用程序/内容。

6. 为分布式应用使用一个HTTP负载均衡程序来协调多台Web服务器。

管理一个Web农场的管理员和程序员通常要做很多手工工作来完成上面的事情(极易犯错并且很危险),或者是写很多脚本来自动化这些工作(费时费力)。添加新机器或者变更配置或者改变应用程序是一个费时又痛苦的过程。

现在Microsoft Web Farm Framework简化了这个过程,并且让你使用一个完全自动化的方式管理Web农场。更了得的地方是,安装和使用都很简单。

使用Microsoft Web Farm Framework来给养和扩展一个Web农场

Microsoft Web Farm Framework便于你定义一个可以添加任意多机器的“Web农场”。在“Web农场”里的服务器会自动由Microsoft Web Farm Framework升级,给养和管理。

这意味着你可在一台主服务器上安装IIS(包括类似Url重写,媒体服务等模块),ASP.NET和自定义的SSL认证一次—然后Microsoft Web Farm Framework会自动在农场里的其它服务器上复制这些配置(不需要手工或额外的步骤)。

然后你可以一次性地在主服务器上创建和配置一个IIS应用程序池和新的站点还有程序—Microsoft Web Farm Framework会自动地在农场的其它Web服务器上复制这些设置。接着你一次性地在主服务器上拷贝/部署一个ASP.NET应用程序—Microsoft Web Farm Framework会自动在农场的其它Web服务器上复制这些变动(不需要手工或额外的步骤)。

Microsoft Web Farm Framework根除了在机群中手工安装和管理的步骤,它全自动地为你完成给养和部署工作。

集成负载均衡程序

除了让给养/部署服务器和程序的工作更简单,Microsoft Web Farm Framework还包含了负载均衡程序集成功能。具体来说,Microsoft Web Farm Framework可以和一个HTTP负载均衡程序集成,这样当需要将改动更新到农场里的Web服务器上时,它们可以自动地从负载均衡轮作中被拿出来,升级,然后放回去。Microsoft Web Farm Framework也可以一次更新一台服务器—这样你总有服务器来处理很大的负荷。这允许你在升级时,站点还是可用的—不需要你写什么手工脚本去控制和管理升级过程。

当前Beta版的Microsoft Web Farm Framework内置了对IIS 应用程序请求路由(ARR)服务(它支持在一个Web农场的多台机器上自动做负载均衡)的支持。Microsoft Web Farm Framework便于用ARR整合你的Web农场里的机器来做负载均衡,并支持自动从轮作中抽出一台服务器升级,然后放回轮作循环中。

最终发布的Microsoft Web Farm Framework将有支持其它负载均衡技术的扩展性—而且有同样的在升级时自动抽取/加入轮作服务器的功能。

案例演练:创建和给养一个Web农场

让我们来演练一个安装和管理由两台Web服务器组成的Web农场的简单场景。我们把两台服务器分别称为“DemoPrimary”和“DemoSecondary”服务器。我们将用第三台叫做“DemoController”的机器来协调和管理这个Web农场。从技术来说,DemoController不需要在单独的机器上—但是这样做可以让演练中的各个角色更加清晰。



安装Microsoft Web Farm Framework

我们从在“DemoController”机器上用Microsoft Web Platform Installer安装beta版的Microsoft Web Farm Framework开始,只要机器上装了IIS 7(或更高)都可以安装它。

创建和给养一个Web农场

一旦安装好Microsoft Web Farm Framework,在“DemoController”的IIS管理工具左边的树形控件里,你会看到一个新的“Server Farm”节点。如果你右键单击“Server Farm”节点,你会看到“Create Server Farm…”这个选项。



选择这个选项将会打开“Create Server Farm”对话框—允许我们配置和安装要在农场里管理的机器。

我们将要创建的新服务器农场命名为“DemoFarm”,并且指明我们要自动给养农场里的所有服务器(勾选对话框里的“Provision Server Farm”选项)。我们还指明了它可以使用IIS 应用程序请求路由(ARR)来均衡负载:



在向导页里点击“Next”按钮会打开一个“Add Servers”对话框,它用来让我们指定要添加到Web农场里的机器。在安装过程中,我们可以添加任意数量的机器。之后我们还可以回到这里添加更多的机器。后面再添加到农场的机器,Microsoft Web Farm Framework会自动对它们进行给养和更新到最新的配置(这样便于你随时扩容)。

本次演练里我们添加两台服务器—“DemoPrimary”和“DemoSecondary”到我们的Web农场。我们从添加“DemoPrimary”机器开始。在对话框里选中“Primary Server”复选框—指明它将作为在农场其它机器中进行自我复制的主服务器:



添加好“DemoPrimary”服务器后我们将在农场里添加“DemoSecondary”服务器。



点击“Finish”按钮后,Microsoft Web Farm Framework会联系添加到农场里的服务器,并自动为我们给养相应的管理软件(不需要我们手动安装任何东西—Microsoft Web Farm Framework会自动在目标机器上安装管理服务)。点击在IIS管理工具的“Server Farm”节点的“Servers”标签,可以看到农场里正在进行的给养和部署操作的最新信息(当然你也可以按机器过滤):



目前为止我们已经做完配置我们Web农场的所有操作了。我们现在有了一个可用的,自动化的Web农场。

我们已经为我们的Web农场设置了自动给养、同步和复制方式。如果我们在“DemoPrimary”Web服务器上创建站点或者应用程序池,在上面安装或升级程序,这些都会被自动复制/同步到“DemoSecondary”服务器上。对任意一个我们安装的Web平台组件也是如此。我们不需要在农场的其它仆从机器上手工安装或配置任何东西。Microsoft Web Farm Framework会自动保持它们与我们的主服务器同步—允许我们将农场里的机器当作一个整体看待。

管理一个Web农场

在IIS管理工具里点击“DemoFarm”允许我们管理、跟踪和配置我们的Web农场:



上图是Microsoft Web Farm Framework和IIS 应用程序请求路由(它提供了负载均衡和缓存管理的支持)的合并视图。

点击“DemoFarm”的“Servers”子节点可以看到Web农场里服务器的状态,比如它们在做的一些部署/给养的操作,比如有没有错误发生。如果在农场的任何地方发生了给养/部署错误,你可以钻到详细的跟踪记录里找到它们。

使用Microsoft Web Farm Framework执行平台维护

使用上面的“Platform Provisioning”图标,Microsoft Web Farm Framework允许你在任意时候方便地在服务器农场里的机器上添加平台组件。它整合了我们的Microsoft Web Platform Installer技术,允许你方便地在农场里的所有机器上安装平台组件。它还便于你检查主从服务器上的平台组件的版本差异。

下面我们可以往服务器农场设置里添加“ASP.NET MVC 2”:



请注意“Enable Platform Provisioning”复选框是选中的—确保我们在列表里添加的产品会自动给养到农场里的所有机器上。默认情况下,Microsoft Web Farm Framework会在农场里一台接一台地更新每台服务器,从负载均衡轮作里抽出一台更新,完成后自动放回轮作循环中(确保你的站点一直可用)。Microsoft Web Farm Framework甚至还知道如何处理服务器重启的场景—机器重启并完成给养后,就会将它放回轮作循环里。

使用Microsoft Web Farm Framework给养程序

Microsoft Web Farm Framework允许你方便地在农场里部署和复制/同步站点,应用程序,内容和站点设置。它使用Microsoft Web部署技术自动部署程序(对于添加新程序或者程序升级都不需要手工步骤)。

默认情况里,Microsoft Web Farm Framework将我们在“DemoPrimary”服务器配置的站点,应用程序,内容和站点设置自动同步到“DemoSecondary”服务器上(以及后面加进农场的其它Web服务器)。我们可以使用任何一种应用程序部署机制把程序拷贝和安装在“DemoPrimary”机器上。这意味着我们可以用FTP/SFTP/或者Microsoft Web部署框架将站点/内容部署到“DemoPrimary”上。也意味着我们可以用自定义的MSI安装程序或者批处理/Powershell脚本将任意的Web应用程序部署到“DemoPrimary”上。

支持任意部署机制的好处是,你可以复用当前在IIS上使用的应用程序/站点/应用程序池的部署方式来升级主服务器—然后用Microsoft Web Farm Framework自动将安装的程序/站点/内容复制到农场的其它机器上。这样也便于你将Microsoft Web Farm Framework整合进您现有的部署工作流里。

如果你在IIS管理工具里点击“Application Provisioning”图标,你可以指定Web农场里的服务器检查程序/站点/内容更新的同步频率(默认情况下是每30秒检查一次)。

你可以选择指定额外的Microsoft Web部署提供程序在Web农场的机群里拷贝自定义设置。比如说,你想拷贝注册表设置—就可以用它;想拷贝NTFS安全访问列表—就可以用它;想拷贝/注册一个COM对象—就可以用它;如果你写了自己的“FooProvider”做一些自定义的玩艺—还可以用它。



只要你改变或更新了主服务器上的程序,Microsoft Web Farm Framework会自动将它们同步和拷贝到Web农场的其它服务器上。不需要手工步骤。

运营和管理服务器农场

Microsoft Web Farm Framework简介 microsoft framework
Microsoft Web Farm Framework内置了一些管理工具让你检查一台服务器的健康状况,跟踪它的状态。你也可以用类似Microsoft System Center(或其它监控软件、脚本)之类的产品来监控农场里服务器的状况。如果你在用ARR来均衡负载,它还支持一批监控和负载均衡设置,让你可以在农场里根据服务器的性能和使用率动态地调整负载。

在IIS管理工具里,Microsoft Web Farm Framework还支持一个“Server Farm Operations”链接,便于你在农场里执行命令。例如,使用下面的界面,我们可以向Web农场里的所有服务器发送一个命令,确保“MyCustomWindowsService”启动并运行着:



你还可以用PowerShell脚本将任务全部自动化。

总结

你可以用Microsoft Web Farm Framework简化你的Web服务器架构的给养及部署工作—不仅是服务器本身,还有运行在它们上面的Web程序和站点。它支持更流畅连贯的部署工作流。增添服务器无须额外的管理负担,便于你无缝扩充您的架构。最好的一点是它是免费的,而且在各个版本的Windows Server上都可以运行。

点击这里来了解更多关于Microsoft Web Farm Framework的知识。你还可以在这里下载它的Beta版本。

希望这能对您有所帮助。

附:[除了写博客以外,我现在也使用推特(Twitter)来及时更新状态和分享链接,您可以到这个地址“推”我一下:twitter.com/scottgu]

相关随笔:

Microsoft Web Farm Framework 2.0 使用Microsoft Web Deploy技术自动部署 VS 2010 和 .NET 4.0 系列之《ASP.NET, HTML, JavaScript 代码片段支持》篇 使用Silverlight打造一个Windows Phone 7的Twitter应用 VS 2010 和 .NET 4.0 系列之《VS 2010中JavaScript Intellisense的改进》篇

This entry was posted in 未分类. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

« VS 2010 和 .NET 4.0 系列之《Visual Studio 2010中项目和方案的钉住》篇

使用Microsoft Web Deploy技术自动部署 »

  

爱华网本文地址 » http://www.aihuau.com/a/25101011/84650.html

更多阅读

如何使用Microsoft Speech SDK开发包 sdk开发包是什么意思

如何使用Microsoft Speech SDK开发包——简介最近,在朋友的介绍下,学习了下关于Microsoft Speech SDK开发包的使用。利用这个TTS(Text to Speech)开发包,写了一个简单语音播报点名系统和随机点人回答问题的程序,还蛮有趣的。下面,小编将

声明:《Microsoft Web Farm Framework简介 microsoft framework》为网友梦仙境分享!如侵犯到您的合法权益请联系我们删除