本系列讨论构建弹性面向服务的体系结构 (SOA) 基础设施,本文是其中的第 2 部分,重点讨论与跨服务器和层次使用同步互连 SOA 组件相关的问题的短期解决方案。之所以重点讨论这里给出的解决方案,是因为其可以平息这种类型的问题导致的负面影响,从而提高 SOA 的弹性。
SOA 将很多异类服务连接为一个具有内聚性的互操作环境。可以在单个事务期间同步调用其中一些或全部服务,从而形成互连服务组件链。链中的每个服务都依赖于下游服务——即在接收到所调用的下游服务发回的响应前,服务将不会继续执行。随着不可预测的情况的出现(如连接互操作服务的总线突然出现大幅度延迟),可能会导致服务阻塞和失败。这些失败将传播到链中,导致其他服务失败,并可能会降低整个 SOA 部署的稳定性。
无法响应的服务对整个 SOA 基础设施的影响程度取决于 SOA 的弹性。弹性(即服务的持续可用性和性能,不会受其环境的负面更改的影响)对于维护状况良好的 SOA 至关重要。本文将讨论各种短期解决方案,以提高容易形成同步互连服务组件链的 SOA 的弹性。
本文转自:IBM developerWorks 中国