为何阻塞应用程序服务器线程会导致 SOA 变得脆弱

弹性 定义为服务的持续可用性和性能,而不受其环境的负面更改的影响,它对面向服务的体系结构(Service-Oriented Architecture,SOA)至关重要。SOA 基础架构必须确保服务具有很高的可用性,而不受不可预测的条件的影响,如突然出现的大幅度的网络延迟,数据库响应时间的增加或依赖服务的服务质量降低等。 本系列描述构建弹性 SOA 基础架构的设计问题和技术,本文是其中的第 1 部分,重点介绍 IBM® WebSphere® Application Server for z/OS® 如何加入 SOA 以及其如何为 SOA 弹性做出贡献。

引言

随着硬件和软件资源的虚拟化变得越来越普遍,中间件基础架构的弹性开始变得越来越重要了。弹性差的服务会对承载于相同虚拟化硬件和软件上的其他服务造成负面影响,例如,在通过可能会造成大量延迟的不可靠网络调用同步服务调用时锁定和保留共享资源。

本文将讨论影响 SOA 基础架构的弹性的若干问题。本文将使用 WebSphere Application Server for z/OS 来对所述问题的效果进行量化。通过 IBM System z™ 提供的虚拟硬件和软件的高级监视功能、WebSphere Application Server for z/OS 的多进程服务器体系结构、用于确保弹性的内部机制,以及通过研究大量 WebSphere Application Server for z/OS 客户部署可以了解的高级概念,能够确定影响广泛的 SOA 领域的问题,并对所建议的解决方案可能造成的影响进行量化。

应用程序服务器、虚拟化基础架构、弹性与 SOA

SOA 指南可帮助进行业务服务开发。业务服务 实际上是能够在整个企业共享的可重用业务功能。这些业务服务的粒度和分配将在设计新 SOA 时成为两个重要的方面。

预先建立的最佳实践

所建立的最佳实践以及通过相关技术积累的经验教训可为构建弹性 SOA 提供很好的指南。例如,通过 Java™ 2 Platform Enterprise Edition (J2EE) 技术我们了解到,位于相同应用程序服务器上的依赖 Enterprise JavaBeans (EJB) 组件的搭配考虑了按引用传递与按值传递的优化,同时还可减少服务器资源的使用,具体来说,这仅需要在一台服务器上使用一个应用程序服务器工作线程,而不是在 N 台服务器上使用 N 个线程。类似地,在 SOA 中紧密耦合的服务 应该带来与 J2EE 中类似的好处。

另一个例子源自 Common Object Request Broker Architecture (CORBA),即数据的序列化和反序列化对性能有重大影响。因此,要构建高性能分布式系统,设计人员必须了解所传输的远程对象,并对此进行简化,以提高性能。这些经验教训和很多其他知识在构建弹性 SOA 基础架构时都非常重要。 

本文转自:IBM developerWorks 中国

请点击此处查看全文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值