欢迎来到天天文库
浏览记录
ID:18544232
大小:360.00 KB
页数:9页
时间:2018-09-18
《网驰平台统一监控工具的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、网驰平台统一监控工具的设计与实现应用背景:当前分布式企业级应用的特点:流程制导,多中间件平台异构集成。业务流程通过组合异构平台上的应用组件,为客户提供复合的服务。TravelPlan旅游定制系统中的中间件平台:ProcessEngine:OnceBPELServiceEngine:OnceSEEJBContainer:OnceASPortalServer:OncePortal应用系统监控中存在的问题传统的监控方案:分别对异构中间件平台上的应用组件进行监控。缺点是监控信息分散,缺乏对应用中各个组件之间关系的考虑,难以了解应用系统整体的运行状况和定位出现性能问题的组件位置,也不利
2、于对应用整体性能进行分析从上图TravelPlan应用中可以看到,不同中间件平台上的应用组件实际是以流程引擎中的应用流程为中心的。TravelPlan流程通过调用各个平台上的应用组件(webservice或EJB等),为TravelPlan门户提供组合后的服务。在这样的应用中,我们的监控需求包括:1.组件性能监控(包括EJB、web服务等组件);2.流程性能及执行状态监控,包括a)复合服务性能的监控a)异常的监控b)流程变量(如循环条件,pre-condition,post-condition等等);c)活动开始结束时间d)业务逻辑监控e)业务流程执行过程监控2.快速定位流程
3、性能瓶颈以及分析各组件对流程整体性能的影响。解决方案1.EJB、web服务等应用组件性能监控在传统的流程制导,多中间件平台异构集成的应用中,应用组件性能的监控分别在各个中间件平台上实现。实际上,EJB、web服务等应用组件都是由业务流程来调用,可以通过监控应用组件的调用事件对他们的性能进行监控。因此,我们在流程引擎上统一地对EJB、web服务等应用组件的性能以及复合服务的性能进行监控。在BPEL流程当中,EJB、web服务等应用组件的调用是活动执行的结果,为了不对BPEL流程引擎的代码产生影响,我们采用AOP技术在活动执行时获取组件的性能信息。
4、2.流程性能及执行状态监控a)复合服务性能的监控业务流程为客户提供的复合服务在BPEL中是由和活动对或者和来完成的,接受调用事件,将调用结果返回给调用者。如:TravelPlan流程提供的登录操作,接收登录验证请求是活动,验证结果返回是活动,他们在BPEL中的定义如下:5、ogon"variable="logonRequest"createInstance="yes"/>可以通过和活动中partnerLink、portType、operation三个属性将操作的事件对应起来。通过AOP技术分别对这两个活动的执行进行监控,从而得到复合服务的性能。b)流程变量和活动开始结束时6、间的监控流程变量和活动开始结束时间都可以采用AOP技术在流程活动运行时获取a)业务逻辑监控已有工作已经完成业务逻辑的监控,这里的工作主要是将其集成到统一监控工具中。b)业务流程执行过程监控在之前的业务流程实际执行过程的监控中,采用的方法是:将BPEL流程引擎中产生的监控事件通过活动id与BPMN当中相应的图元对应,从而确定业务流程当执行的真个过程。这个方法存在如下的问题:在我们项目的实践过程中,我们发现由于网络延迟或者其他的原因监控器所接收到的监控事件可能会出现失序的现象。而监控事件的失序可能给业务流程的监控带来严重的后果。例如:在如下图所示的并发流程结构中,invoke3必7、须在两条分支都运行结束的时候才能运行。假设invoke3的监控事件先于invoke1的监控事件到达,因为之前的方法是直接将监控事件匹配流程节点。监控结果是流程执行出错,这显然是与事实不符的。另外一个例子:在如下的循环结构中,假设循环要求执行三次invoke1,而invoke2的监控事件先于第三次invoke1的监控事件到达。监控结果是,在循环条件没有满足的情况下,invoke2已经执行,流程执行出错,这也是与事实不符的。在实际应用中,流程执行的错误判断,可能造成业务失败等不良后果,给企业带来极大经济损失
5、ogon"variable="logonRequest"createInstance="yes"/>可以通过和活动中partnerLink、portType、operation三个属性将操作的事件对应起来。通过AOP技术分别对这两个活动的执行进行监控,从而得到复合服务的性能。b)流程变量和活动开始结束时
6、间的监控流程变量和活动开始结束时间都可以采用AOP技术在流程活动运行时获取a)业务逻辑监控已有工作已经完成业务逻辑的监控,这里的工作主要是将其集成到统一监控工具中。b)业务流程执行过程监控在之前的业务流程实际执行过程的监控中,采用的方法是:将BPEL流程引擎中产生的监控事件通过活动id与BPMN当中相应的图元对应,从而确定业务流程当执行的真个过程。这个方法存在如下的问题:在我们项目的实践过程中,我们发现由于网络延迟或者其他的原因监控器所接收到的监控事件可能会出现失序的现象。而监控事件的失序可能给业务流程的监控带来严重的后果。例如:在如下图所示的并发流程结构中,invoke3必
7、须在两条分支都运行结束的时候才能运行。假设invoke3的监控事件先于invoke1的监控事件到达,因为之前的方法是直接将监控事件匹配流程节点。监控结果是流程执行出错,这显然是与事实不符的。另外一个例子:在如下的循环结构中,假设循环要求执行三次invoke1,而invoke2的监控事件先于第三次invoke1的监控事件到达。监控结果是,在循环条件没有满足的情况下,invoke2已经执行,流程执行出错,这也是与事实不符的。在实际应用中,流程执行的错误判断,可能造成业务失败等不良后果,给企业带来极大经济损失
此文档下载收益归作者所有