使用以下过程可以安装 Microsoft AppFabric 1.1 for Windows Server。无论您是第一次初始安装,还是在初始安装安装之后添加或删除功能,都您可以使用本主题中的过程。安装程序提供以下功能:
使您能够选择要安装的特定功能。
验证平台以确保没有以不支持的状态安装产品,并指示安装需要的先决条件。
安装 AppFabric。
使您能够作为一个整体删除特定的 AppFabric 功能或 AppFabric,确保计算机能保留在可以重新安装功能或 AppFabric 时所处的状态。创建 AppFabric 事件收集器服务、AppFabric 工作流管理服务和 AppFabric 缓存 服务。将服务设置为手动启动类型和已停止状态。在配置过程中,事件收集器和工作流管理服务更改为自动启动类型并启动。缓存服务的启动类型仍然设置为手动。AppFabric 设置程序在根(服务器级别)Web.config 文件、machine.config 文件和 applicationHost.config 文件中设置配置设置。
本文只代表作者在一定阶段的认识与理解,谢谢!
一、写作前提
我负责的一个项目,现已经开发完毕,部署方式如下图所示:
我方开发的项目是部署在香港的Portal,需要外网,它会通过特殊的通信通道与客户内网的SAP系统进行直接的信息交互,包括信息的相互读写。客户的SAP Team考虑到对相关请求与安全监控等因素,要求在Portal与SAP之间的信息交互增加一个通信监控服务。经讨论,需要在Portal与SAP之间增 加一个AppFabric服务,Hosting一个WCF服务建议双边通信,并收AppFabric监控访问请求相关信息,因此信息部署结构如下:
本文主要描述如何安装AppFabric、配置,以及如何建立测试的服务和实施信息监控,具体见下面具体描述。
二、本文内容
本文依据实现的项目需求,讲解如果安装、部署设置AppFabric进行WF及WCF的监控,以及本次部署过程中的问题排除方法,内容主要包含如下:
1. AppFabric的安装
2.AppFabric的部署
3.本次部署过程中的问题排除
4.总结
三、AppFabric的安装
1.环境需求
硬件环境:
略过,目前所有的硬件环境几乎都支持,最好支持64位操作系统。
系统环境:
Windows 7,Windows Vista SP2
Windows Server 2008 SP2,Windows Server 2008 R2
具体环境需求可参考微软官方说明(AppFabric下载地址)(本文下载的是:WindowsServerAppFabricSetup_x64_6.1.exe):
或下面的安装说明站点:
http://msdn.microsoft.com/zh-cn/library/hh334371%28v=azure.10%29#%E4%B8%AD%E5%9B%BD%EF%BC%88%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%EF%BC%89
2.安装步骤
下载完WindowsServerAppFabricSetup_x64_6.1.exe后,下面需要做的工作就是进行AppFabric Server的安装,安装部署如下(因为本机已经安装完毕,因此,本文中的图片来自互联网,特此声明):
1)打开安装程序,进行安装向导首页
2)点击“下一步”,进入服务功能组件选项(在我的项目中只选择了“托管服务”)
3)安装完成之后,将打开IIS管理器,点击任何一个IIS中的站点,将看到右边“功能视图”中会新增显示“AppFabric”功能区域
至此,我们完成了AppFabric软件的安装。打开“开始”菜单下的“所有程序”,点击“Windows Server AppFabric”下的“配置AppFabric”,将弹出如下页面:
点击“下一步”
我的“监控提供程序”选择的是SqlClient,然后点击后面的“配置”,进行数据库配置页面,上图中的两个“监控提供程序”都需要配置,否则通不允许进行下一步。
点击“确定”之后,点击“下一步”,进行配置完成界面。
当上述部署完成之后,其实,它已经为我们创建了相关的数据库、表及相关存储过程等信息,并且在代理中创建了相关计划任务用于系统信息的监控与收集。
3.服务启动
在软件安装完成后,需要启动相关服务,其中有些服务可能需要修改,本文所遇到的问题即是存在于服务的权限(后面会进行详细介绍)。
点击“开始”菜单,进入“管理工具”,打开“服务”,在服务中需要启动如下服务:
1)AppFabric 工作流管理服务
2)AppFabric 事件收集服务
3)SQL Server Agent (MSSQLSERVER),本系统安装的是MS SQL Server 2008 R2
其中,1)和2)是安装AppFabric后自动生成的。
四、AppFabric的部署
AppFabric Server安装成功后,需要进行的操作即是进行服务的托管及监控的设置及监控数据查看。
1.服务部署
本文将对WCF及WF服务进行托管,程序示例来自于“博客园”的“2012”(示例下载)。此示例将在AppFabric Server中Hosting WCF及WF服务,然后建立一个MVC的Web Project进行服务的调用。
首先下载实例,将文件解压到D:\ Contoso
1、 数据库[使用SQL Server Managerment Studio]
建立一个新的数据库contoso
使用D:\Contoso\contoso.sql建立架构和初始数据
然后给BUILTIN\IIS_IUSRS赋予权限
2、 应用编译[VS2010]
编译D:\Contoso\ Claims.sln
3、 应用部署[inetmgr]
点击“开始”下的“运行”,输入“Inetmgr”,启动IIS管理。
部署Web App,即我未来系统中的VIP Portal:
应用程序池使用ASP.net 4.0集成模式
AppFabric Web端口89【这个可变】,路径 D:\Contoso\Claims.Web\Claims.Web
部署需要托管的WCF及WF服务:
AppFabric Services端口90【需要变需要修改相关配置文件才能只能工作】,路径 D:\Contoso\Contoso.Services
在AppFabric Services新加应用程序,具体对应路径:
AppraisalService.WCF –> D:\Contoso\Contoso.Services\AppraisalService.WCF
BillingService.WCF -> D:\Contoso\Contoso.Services\BillingService.WCF
CarRentalService.WCF -> D:\Contoso\Contoso.Services\CarRentalService.WCF
ProcessClaimService.WF -> D:\Contoso\Contoso.Workflows\ProcessClaimService
其中,AppFabric Services的高级设置中的“已启用协议”需要加上net.pipe,AppFabric管理需要],并且应用程序池使用ASP.net 4.0集成模式
配置好后的效果:
根据我本次的部署,虽然我们在AppFabric Services的高级设置中的“已启用协议”需要加上net.pipe,但是在实际启动AppFabric的WCF和WF服务时,会报未正确设置net.pipe。因此,我们需要额外增加如下配置。点击AppFabric Services,在右边操作的编辑网站下,点击“绑定”,在弹出的窗口中,如果类型下没有“net.pipe”,则需要我们点击“添加”,在弹出的窗口中,选择类型为“net.pipe”,然后绑定信息输入*,点击“确定”即可。
2.监控设置
点击AppFabric Services,在右边管理WCF和WF服务上,点击“配置”,将打开配置窗口,如下图所示:
在此页面可以进行相关监控的参数化设置操作。
3.服务调用与监控数据查看
至此,所有的部署就已经完成了,下面要做的事情,就是启用打开Web Application,形成对WF及WCF的调用,确认AppFabric是否对相关服务进行监控。
1)打开流程器,http://localhost:89/Claims 进入,使用用户dannyg,密码 mydemo登陆
2)选择一个条目,如第一条,进入如下的地址http://localhost:89/Claims/Details/1
3) 选择编辑,进入如下的地址http://localhost:89/Claims/Edit/1
在完成上述操作后,下面需要对监控的数据进行查看。打开IIS管理器,点击“AppFabric Services”,在右边的“功能视图”,双击“AppFabric仪表盘”,如果能够看到如下类似信息,即代表部署、配置成功。
五、本次部署过程中的问题排除
1.遇到的问题描述
在如上的整个过程中,AppFabric安装没有问题,部署没有问题,Web Application调用没有问题,但是在“AppFabric仪表盘”中即什么信息都统计不到。并且经常会出来一个执行SQLAgent.exe不兼容的提示。
2.排除问题的方法
1). 考虑到此问题是程序不兼容,因此,找到SQLAgent.exe文件,点击右键,进行兼容性设置,进行如上设置后,问题依据没有解决;
2).考虑在执行SQLAgent.exe时没有权限不足,那什么由谁会去执行SQLAgent.exe这个文件呢,考虑应该只有如下需要启动的服务可能会调用,即
a)AppFabric 工作流管理服务
b)AppFabric 事件收集服务
c)SQL Server Agent (MSSQLSERVER),本系统安装的是MS SQL Server 2008 R2
打开“开始”下的“管理工具”,点击“服务”,分别找到如上三个服务,点击右键,选择“属性”,在打开的属性窗口中,点击“登录”选项卡,输入管理员账号,点击确定。
然后再次运行Web Application,然后查看AppFabric仪表盘,终于出现数据了,问题解决。
六、总结
1. 程序的安装与部署要按顺序进行,并且需要知道每一步将会产生哪些配置信息;
2.需要注意相关应用与服务权限的配置。