高可用且动态可升级的Web服务架构
立即解锁
发布时间: 2025-08-22 02:10:17 阅读量: 2 订阅数: 6 


网络社会的新方法与实践:信息系统开发进展
### 高可用且动态可升级的 Web 服务架构
#### 1. 引言
Web 服务作为非同质系统互操作性的首选技术,被定义为“自包含、模块化的应用程序,具有开放的、面向互联网的、基于标准的接口”。它在解决应用集成中的互操作性问题上已展现出巨大价值,如今企业对 Web 服务的依赖程度与日俱增,像医疗、股市和机票预订等应用,对 Web 服务的高可用性要求极高。
高可用性意味着服务要尽可能减少停机时间,提高正常运行时间。同时,动态升级能力也至关重要,它能在软件进行预定更新时,以最小的服务中断实现软件组件的替换,常见的升级原因包括修复漏洞、增强功能和提升性能等。本文聚焦于实现 Web 服务高可用性和动态升级的技术。
#### 2. Web 服务
- **定义**:Web 服务是可通过 Web 访问的应用程序,万维网联盟(W3C)将其描述为“由 URI 标识的软件应用程序,其接口和绑定能够以 XML 工件的形式进行定义、描述和发现,支持通过基于 Internet 的协议交换基于 XML 的消息与其他软件代理进行直接交互”。
- **应用场景**:Web 服务是新一代企业对企业(B2B)和企业应用集成(EAI)架构的基础,因其语言和平台中立的特性,企业常将部分功能以 Web 服务的形式对外暴露。
##### 2.1 高可用的 Web 服务
- **可用性定义**:可用性是衡量 Web 服务容错能力的指标,高可用性即通过各种方法和技术,使服务在运行要求内的可用时间占比最大化。
- **重要性**:对于企业而言,系统响应能力直接影响客户满意度和业务营业额,服务停机往往会导致重大的收入损失。在医疗信息系统等应用中,高可用性更是至关重要。
- **影响因素**:可用性受网络连接和服务器故障(包括硬件和软件故障)等因素影响,因此解决方案需同时应对这些问题。
- **提升方法**:为确保 Web 服务的高可用性,需增强其发现和绑定功能。Web 服务的发现通常借助基于 UDDI 标准的服务目录,提升通用服务的可用性也有助于 Web 服务的发现。
##### 2.2 动态可升级的 Web 服务
- **动态升级定义**:动态升级指在运行时替换软件组件,同时尽量减少(最好为零)服务中断。
- **客户端与服务器端升级差异**:在客户端 - 服务器模式中,客户端升级相对简单,可在可控的情况下进行;而服务器端升级则更具挑战性,因为客户端会随机发起事务请求。Kramer 等人提出了静止期的概念,即组件可安全升级的时间段。
- **升级原因分类**:动态升级的原因可分为纠正性、完善性和适应性三类。纠正性升级用于修复漏洞,完善性升级用于增强功能和性能,适应性升级则用于使服务适应不断变化的环境。
- **重要性**:动态升级能力能确保服务在预定升级期间持续运行,是高可用性架构的重要补充。
#### 3. 相关工作
##### 3.1 现有技术
|技术提出者|技术内容|优点|缺点|
| ---- | ---- | ---- | ---- |
|Birman 等人|使用 Web 服务模型的扩展,支持系统健康监测、故障自诊断、应用自修复和事件报告等标准服务,构建于 WS - Transactions 和 WS - Reliability 等现有技术之上|可作为 Web 服务平台的路由器组件,为现有应用提供透明的高可用性|未定义明确的动态升级方法|
|Cotroneo 等人|从服务质量(QoS)角度出发,为应用开发者提供替代 API 以访问网络|针对实时系统,改善基于 Web 的服务的可用性|对开发者不透明,只能在网络和操作系统层运行,无法应用于其他平台|
|Vilas 等人|引入虚拟化概念,创建虚拟 Web 服务并暴露给客户端,后端在集群中管理实际 Web 服务|在 Web 服务层实现高可用性,虚拟化技术在相关领域有广泛应用|需要开发者定义虚拟 Web 服务(VWS)和 VWSDL 文档,还需 VWS 引擎实现集群和高可用性,且需要额外的技术来形成和管理集群,未提供明确的动态软件升级机制|
##### 3.2 现有技术评估
虽然上述技术都能直接或间接地提升 Web 服务的可用性,但它们在开
0
0
复制全文
相关推荐










