论文部分内容阅读
随着Internet应用的深入,诸如电信、银行等关键性行业的业务以及诸如搜索、即时通信、网上交易、在线娱乐等大批新兴的Internet服务都对服务可用性提出了越来越高的要求。对于它们而言,系统宕机或者其它原因导致的服务不可用直接影响着公司的营运收入和形象以及客户满意度,更严重的甚至导致法律纠纷。所谓可用性是指系统正常工作而不停机的时间百分比。当前集群已成为服务器行业的主流结构,尽管单个硬件的可靠性日益提高,但由于集群规模增大带来环境的复杂性和人为因素的不确定性,系统仍然表现出频繁的故障,这使得从软件角度考虑提高可用性显得尤为重要。
高可用集群中间件为集群环境中的应用服务提供高可用通信环境和基于冗余的自动化失效恢复方式,它介于操作系统和上层应用程序之间,通过减少系统恢复的时间来提高可用性。基于该中间件开发的集群应用服务将继承中间件提供的高可用特性,从而有效降低企业应用开发在可用性方面的成本。
本文主要研究高可用集群中间件的设计与实现,包括以下几方面内容:
1)高可用集群中间件的整体框架。本文描述了底层高性能驱动框架和动态插件管理框架,前者驱动中间件的运行,后者驱动模块的动态更新。在此基础上本文抽象了集群服务的一般模型,并研究和设计基于该模型的冗余、划分和分布方式。
2)底层基础服务实现。本文描述了中间件实现的关键服务—集群成员管理层和统一可靠通信层,以及高可用组件管理框架。集群成员管理层实现了集群成员的维护和变更通知,统一可靠通信层实现了满足中间件通信环境特点的单播和组播可靠通信,高可用组件管理框架实现了自动化的组件冗余和失效切换管理。
3)分布式测试框架。针对中间件运行环境的特点,本文设计了基于错误注入的分布式协作测试框架,它能够驱动多客户端多服务端进行协作测试,并且支持群集操作,用它来测试中间件的功能实现。
本文主要内容来源于国家863子课题“高可用集群中间件开发与实现”的相关工作中,主要贡献包括:
1)采用动态链接库机制实现了一套动态更新框架;
2)针对通信环境特点设计了基于单通道全局优化的单播和组播通信;
3)设计基于错误注入的分布式协作测试框架。