论文部分内容阅读
随着信息技术的发展,分布式软件系统规模和复杂性日趋提升,传统的单体架构已经不能满足系统对于灵活性、扩展性和快速迭代的要求。微服务架构将复杂的大型应用程序分解为一系列小型的服务并通过轻量级的协议通信,由于其灵活性、可扩展性和支持DevOps和敏捷开发方法成为当前流行的架构风格,在诸多生产实践中加以应用。然而,微服务架构下的系统在异构的基础设施下构造和开放环境下运行,在构造、管理和运维上呈现出独立性、开放性、动态性、自治性等特征,因此,如何使得微服务系统具有自适应环境和需求变化的能力,成为一个巨大的挑战。针对这一挑战,本文聚焦于自适应微服务系统的软件体系结构,围绕以下三方面问题开展研究:1)如何从体系结构的角度指导自适应微服务系统的设计和构建?2)如何为自适应微服务系统的实现提供平台支持?3)如何提出一种方法过程指导自适应微服务系统的开发运维?取得了以下三方面的研究成果。1.提出了一种多层控制的自适应微服务系统参考体系结构。该参考模型独立于平台,支持层次之间的交互,为设计和构建自适应微服务系统提供了一个蓝图以支持对微服务系统多个层次的变化和自适应。2.实现了一个自适应微服务系统支撑平台(Self-adaptive Microservice System Platform,SAMSP)。基于多层控制的自适应微服务系统参考体系结构和Kubernetes,提出了一个自适应微服务系统的实现体系结构,并且基于实现体系结构构建了SAMSP平台。该平台支持自适应微服务系统的构造和运维,实现了管理和适应的功能,使得微服务系统能够实现自适应。3.提出了自适应微服务系统的开发方法(Self-adaptive Microservice System Methodology,SAMSM)。针对自适应微服务系统的特点,提出了SAMSM方法学,解决开放环境下自适应微服务系统的开发运维问题,并为其开发运维过程提供技术和工具支持。最后,本文对一个基于自适应微服务架构的企业竞争情报信息系统的应用进行了案例开发和实验分析,检验了本文提出模型和方法的可行性,以及所构建系统自适应的有效性。