论文部分内容阅读
近几年来,随着企业信息化和国内互联网的高速发展,人们对应用系统的依赖和需求不断提高。同时,各种移动终端产品的不断出现,人们获取信息的途径趋于多样化并且质量要求也越来越高,这就导致了应用系统的业务持续膨胀和功能不断增加,原有应用系统架构无法满足水平和垂直扩展,同时也难以达到性能要求。造成的现象是:应用系统各个模块具体实现技术不统一,部署各个模块的要求规范和实施流程也不一致,其模块之间的交互方式也没有统一的接口规范。这种现象给应用系统的稳定性带来了很大的隐患,直接威胁着应用系统的线上正常运营。因此非常有必要开发一套通用的、高效率、简单实用的分布式服务框架,在应用系统在开发初期就能满足分布式水平和垂直扩展特殊需求。让企业投入较小的成本来搭建一套高性能、扩展性好的分布式应用系统。本文课题来自实验室国家自然科学基金和国内某知名互联网企业商业搜索的广告平台项目,以面向业务应用系统的复杂需求和性能为对象设计并且实现一套通用分布式服务框架,致力于提供高性能和透明化的远程服务调用方案(Remote Procedure Call, RPC)、SOA (Service Oriented Architecture)服务治理方案以及关系型数据(Mysql)的分布式处理方案。在开发模式方面,上采用多版本并行开发模式,保证新功能的开发和稳定性的提高。这能使新的需求功能在高版本中能快速得到响应,同时降低其对框架本身稳定性的影响。在设计方面,遵循API (Application Programming Interface)和SPI (Service Provide Interface)分离、服务域/实体域/会话域分离、扩展接口职责单一、微核插件式、友好的CoC约定和增量式扩展等原则。在实现方面,Java主要实现各个模块基本功能,XML用来定义交互协议标准。在测试方面,结合版本约定进行迭代开发和功能回归测试,同时对其性能进行压力测试。最后将该框架运用于实际系统的开发和运营。测试结果和线上运行状态表明,该框架能良好的支持业务的水平和垂直扩展。能够快速响应业务需求的开发和上线,使得应用系统功能服务低耦合,并且还能透明提供分布式环境海量数据服务。