AppFabric监控、跟踪与高可用性实现指南
立即解锁
发布时间: 2025-08-26 01:29:16 阅读量: 2 订阅数: 7 


Windows Server AppFabric深度解析与实践
### AppFabric监控、跟踪与高可用性实现指南
#### 1. AppFabric监控与跟踪
AppFabric提供了强大的监控和跟踪功能,有助于我们深入了解应用程序的运行状况。以下是相关的配置和功能介绍:
```xml
<variableQuery name=”OrderNumberVariableValue”
variable="OrderNumber"/>
</variableQueries>
</activityInitializedQuery >
</activityInitializedQueries >
<workflowInstanceQuery>
<states>
<state name="Started"/>
<state name="Completed"/>
</states>
</workflowInstanceQuery>
<workflowInstanceUnhandledExceptionQuery includeException="true"/>
<workflowInstanceAbortedQuery includeReasonAborted="true"/>
<faultPropagationQueries>
<faultPropagationQuery activityName="*"
extractFaultData="true" faultHandlerActivityName="*"/>
</faultPropagationQueries>
<userTrackingQueries>
<userTrackingQuery name="*" activityName="*"/>
</userTrackingQueries>
</workflow>
</trackingProfile>
</profiles>
```
通过上述配置,我们可以对工作流实例的启动、完成状态,未处理异常、中止原因等进行查询和跟踪。
在监控方面,我们可以查看仪表盘,深入了解跟踪事件,还能利用AppFabric的查询功能来获取事件、持久化实例以及实例状态等信息。同时,我们还需要了解监控配置级别,掌握如何配置诊断跟踪和消息日志功能。在捕获监控数据后,有自动化和手动两种方法来管理这些数据,例如使用PowerShell cmdlets进行数据库的配置、归档和清理操作。
跟踪功能方面,我们可以通过配置文件或代码来创建和配置跟踪配置文件,还能配置和创建跟踪参与者。
#### 2. 实现高可用性
在开发环境中,将AppFabric和SQL Server安装在同一台计算机上通常就足够了。但在生产环境中,为了实现高可用性、可扩展性和数据存储,通常会采用服务器群集的方式,其中包含多台计算机以及一台或多台专用的SQL Server机器。
##### 2.1 扩展规划
对于长时间运行的流程,应用程序需要具备在系统重启、硬件故障和其他意外服务器中断情况下继续运行的能力。AppFabric提供了默认的持久化提供程序,工作流应用程序可以利用它为长时间运行的应用程序提供持久化支持。
在单服务器部署中,持久化允许工作流实例在托管它的服务器恢复正常状态后继续执行。而在服务器群集部署中,应用程序可以在群集中的任何合格机器上恢复执行。此外,如果一个工作流实例在一台服务器上执行,而该实例的消息到达了另一台服务器,持久化可以将执行实例移动到有挂起消息的机器上,使工作流能够处理该消息。
以下是不同部署环境的示意图:
- 开发环境:所有AppFabric托管的应用程序和服务部署在单台服务器上,所有持久化和监控信息存储在一个数据库中。
- 生产环境:AppFabric组件和服务部署在多台服务器上,形成一个服务器群集,并使用共享资源的独立SQL Server机器。
##### 2.2 负载均衡与配置复制
WCF和WF服务通常部署在IIS虚拟目录中,并可以在负载均衡器后面进一步虚拟化。负载均衡器使用特定的算法(如轮询算法)将HTTP或TCP请求推送到服务。
虽然AppFabric本身没有集群的概念,但它通过提供持久化锁重试机制,使得WCF和WF服务可以放在负载均衡器后面。我们可以通过在负载均衡器后面配置机器,并让它们使用共享的持久化数据库来创建一个“集群”。
WCF和WF服务还可以通过队列(如MSMQ)接收请求,从而实现混合配置。我们可以使用MSDeploy工具在所有服务器上复制AppFabric配置。MSDeploy可以检测源和目标内容之间的差异,只传输需要同步的更改,从而简化了同步过程。
在服务器群集中的每台机器上,我们可以使用IIS管理器或PowerShell命令实用程序来管理资产和配置设置。在IIS管理器中查看AppFabric仪表盘时,我们可以看到所有机器的监控数据和WF持久化实例信息,并且可以从集中点控制任何机器上运行的持久化WF实例。
##### 2.3 工作流管理服务机制
当工作流服务主机获取持久化实例的所有权时,它会获取该实例的锁,并且锁有一个过期时间。主机在工作期间必须不断更新过期时间。如果实例的过期时间到期但实例仍然被锁定,AppFabric工作流管理服务(WMS)会认为主机已崩
0
0
复制全文
相关推荐










