SOA架构下,服务质量Qos几个关注点与设计思路

随着SOA的发展趋势,越来越多的企业开始搭建ESB,而度量一个ESB是否能够担当企业信息集成通信的脊梁,服务质量Qos的指标测量结果举足轻重,以下是一些主要的关注点:

1性能

性能是描述一个Web服务处理请求速度的指标。该指标主要取决于吞吐量、响应时间、持续时间、执行时间、事务时间等。其中,吞吐量是指在特定时间内能够受理的服务数;响应时间是完成一个请求的时间;持续时间是从发出请求到收到响应结果的时间;执行时间是服务处理后台一系列活动产生的耗时时间;事务时间是Web服务事务处理的时间。一般而言,高性能的Web服务指高吞吐量,快速的响应时间、执行时间、事务时间和极短的持续时间。

2、可靠性

可靠性是指在特殊间隔时间下,是否能够满足其功能正常健康运行的指标。可靠性可以用平均无故障时间(MTTF)来度量,即Web服务能够正常运行多长时间,才发生一次故障。系统的可靠性越高,平均无故障时间越长。可靠性指标测量单位通常可以是每天、每周、每月、每年等。可靠性也可以用于测量服务请求方与服务提供方发出请求数与接收并受理请求数的比例。

3、可用性

可用性用平均维修时间(MTTR)来度量,即系统发生故障后维修和重新恢复正常运行平均花费的时间。当运行实例节点发生故障后,Web服务应该启动相关失效转移的策略,并在极短的时间修复,保证服务随时可用。

4、可扩展性

可扩展性是指Web服务能否通过计算资源的水平增加,不断满足日益增长的用户访问数、负载请求和事务等。一个Web服务如果无法实现水平扩展,那么认为该服务不具备可扩展性需求,无法保证其服务质量。

5、健壮性

健壮性是指Web服务自身的容错和修复能力。高健壮性的服务设计,通常可以处理那些非法的、不完整的、语境冲突的请求等。强大的异常处理框架,可以保证服务在错综复杂的运行环境拥有良好的表现。

6、易用性

易用性是评估分布式异构系统中Web服务集成特性的重要因素。易用性高的Web服务应该对服务请求方的使用是完全透明的,不需要考虑该服务提供方的部署系统、构建平台、编程语言等复杂的实现方式,仅需要按照标准规范和协议即可对该Web服务进行集成。

7、安全

安全是指服务部署的静态环境和服务运行的动态环境的安全控制。根据不同的安全系数,可将服务安全分为认证与授权、传输协议安全、数据消息安全三个级别。安全指标是作为Qos质量测量中的重要指标。

WebService作为SOA的一个重要实施方式,大量充斥在ESB平台中,而本身基于轻量级的简单对象访问协议(SOAP)实现,因此充分对其进行优劣势分析至关重要,以下是一些项目经验,用以交流和讨论:

以自顶向下的方式设计开发,通过服务规范与服务需求和服务设计进行衔接,标准化、模板化的加工生产方式生成接口契约文件、接口实现框架、接口测试框架;

设计一套高效且轻量级的SOAP消息解析器和解析流程,避免服务外部与内部通信信息传递时产生大量的marshal和unmarshal操作

开发环境和测试环境启用完整的XML审计流,以便开发和调试程序,在生产环境模式下,关闭XML审计流提高运行速度;

网络传输过程中,合理使用压缩技术,对于文件传输可以使用SAAJ、DIME、MTOM等方式;

启用WebService的缓存技术;

尽可能使用简单对象,避免解析复杂对象;

使用异步消息处理实时性高的应用场景;

结合ELT或ETL工具,处理大数量,解决SOAP数据承载能力的瓶颈;

合理选择服务传输协议,如HTTPR,REST,BEEP等

合理引入WS-*协议,BPEL4WS,WS-AtomicTransaction,WS-Coordination,WS-Transaction,WS-Security等

相关推荐