论文部分内容阅读
单体架构已经难以满足大规模复杂应用系统在灵活可伸缩和高可扩展等方面的需求,并导致系统技术选型成本高和交付周期长等问题。为了应对上述问题,一种新型的轻量级软件架构——微服务应运而生。微服务架构具有灵活、可扩展、强容错等诸多优点,如今正在被越来越多的企业所认可,并在生产中作为大规模分布式应用系统的架构设计模式。虽然微服务可以提高开发团队的工作效率,支持系统的持续交付和快速迭代,但其构造、管理和部署却较为复杂,面临以下挑战:(1)微服务划分难度大、划分周期长,缺乏经验指导;(2)微服务数量众多,运行环境复杂,服务集成、管理困难;(3)微服务部署策略单一,一般采用基于业务逻辑的静态部署策略,可能会影响系统的某些非功能特性,比如性能等。 针对上述问题,本文首先提出了一种基于日志数据分析的微服务部署策略优化方法。该方法首先规范化定义微服务间通信日志,然后基于数据挖掘对日志进行分析,依据微服务间通信的频繁程度进行聚类,找出频繁通信的微服务集合,最后据此给出微服务部署策略的优化方案。基于上述部署优化方法,本文设计并实现了一个基于微服务框架的性能自适应调节组件。该组件可以实现日志数据的收集与分析,根据服务之间的通信情况给出部署策略优化方案,并完成相关微服务的自适应部署调节。然后,本文构建了一个面向性能自适应的微服务框架。该框架涵盖了微服务的核心基础设施组件,包括服务网关、日志审计、资源管理、容器编排、服务注册发现以及部署策略的自适应调节等组件,不仅能够实现对微服务的高效部署和管理,还可以根据系统的运行状态对微服务的部署策略进行自适应调整,提高系统性能。 最后,本文通过一个基于微服务架构重构的股票交易系统——μDaytrader,对性能自适应调节组件和部署策略优化方法进行了实例研究,验证了本文工作的有效性。