第 31卷第 1期
2014年 2月
Vol. 31 No. 1
Feb.,2014
华 东 交 通 大 学 学 报
Journal of East China Jiaotong University
文章编号:1005-0523(2014)01-0119-05
收稿日期:2013-08-27
作者简介:刘子英(1964-),女,教授,硕士,研究方向为信息管理系统以及数据库技术。
基于流式计算的 Web 实时故障诊断分析与设计
刘子英,唐宏建,肖嘉耀,张 骞
(华东交通大学电气与电子工程学院,江西 南昌 330013)
摘要:随着 Web 服务技术在分布式系统的广泛应用,Web 服务正逐步成为 Internet 环境中资源封装的标准形式,Web 服务粗
粒度、松耦合等特性在增加业务应用的灵活性和分布式系统的自适应能力同时,也增加了应用系统的复杂性。为了提高
Web服务分布式系统的可用性,提出了采用 Storm 流式计算架构的 Web 故障诊断新方式,为实时发现故障问题以及迅速排除
故障提供了方案。
关键词:Web服务;Storm;流式计算;故障诊断
中图分类号:TP391 文献标志码:A
故障诊断虽然在控制领域应用广泛,但在 Web服务领域,还比较原始,形象地说就是人工故障诊断,诊
断效率非常低。基于上述原因提出了一个 Web 故障
[1-3]
的自动化解决方案,它可以实时发现问题、自动定
位问题(或者辅助定位问题),还能预测问题,大大提高工作效率、提升系统监控状态
[4]
。自动化有两个主要
的问题需要考虑,一是根据系统的依赖关系和部署状况,来分析问题;二是上述分析过程需要实时的一个
解决方法,如果故障诊断在故障发生 1 min 后才出结果,就不利于故障问题的快速解决。Web 服务请求常
常是由一系列 RPC(Remote Procedure Call Protocol:远程过程协议调用)调用
[5-6]
过程组成的,图 1 给出了其
服务依赖树的举例。
Web 服务,建立通过任务间依赖规范实施合成的方法,具有柔性和自适应能力实现 Web 服务的自动
合成,而 Web 服务中族的概念阐述了与服务树的关
系,文中服务族相对于服务树来说是更多 Web 服务
依赖树的集合。
图 1 中用户(User)请求通常在经过一系列处理
之后得到最终结果。如果系统任何一个节点(RPC
拓扑中的服务)出现问题,都会影响最终用户的使
用,如果出现问题常常很难知道问题出在哪个节
点。导致的原因主要有
1)Web 服务变化太快,新节点随时会增加、旧节
点随时会修改,很难知道系统依赖了哪些节点;
2)一些节点及节点所在的机器很可能是被多个
系统共用的。
图 1 Web 系统 RPC 拓扑图
Fig.1 RPC topological graph of the Web system