论文部分内容阅读
微服务架构是一种在云中部署应用和服务的技术。微服务架构将应用根据职责解耦成多个子模块,每个子模块独立部署并通过轻量级的通信机制进行交互,解决了用户日益增长的系统性能需求。微服务架构的部署可以通过容器技术将系统运行环境一起打包,大大降低了系统的运维难度。然而,由于容器相比传统的虚拟机粒度更小,资源调度问题也更加复杂,实际应用场景中在没有人工介入的情况下无法很好的对容器进行调度管理。并且随着容器规模不断增大,容器关系变得更加复杂,管理复杂性也大大增加。在这种情况下,系统的整体性能和人工操作正确率都难以得到保证。如何高效地对容器进行管理是微服务环境下亟待解决的问题。本文主要工作如下:1.提出一种基于门控循环单元(Gated Recurrent Unit,简称GRU)神经网络的负载预测算法。该算法的负载模型充分考虑了内存、CPU、磁盘IO以及网络IO对负载的影响。算法使用GRU神经网络模型对负载进行预测。实验结果表明,本文提出的负载预测算法不仅能够保证较高的预测精度,而且相对已有基于神经网络的负载预测算法计算效率更高。2.研究分析容器间的依赖关系对微服务性能的影响,根据依赖关系对容器进行邻域划分,并把划分结果整合到粒子群算法的关键参数中。在此基础上,提出一种基于邻域划分的容器调度算法。通过仿真实验表明该调度算法不仅能够保证一定的系统负载均衡,而且可以减少集群中跨物理主机的网络调用。3.设计并实现微服务环境下的容器调度系统,通过容器调度系统对电商微服务系统进行调度管理和性能测试。测试结果表明容器调度系统能够使得电商微服务系统负载更加均衡,能够减小系统响应时间。