论文部分内容阅读
随着互联网技术的快速发展,微服务成为目前比较流行的一种软件架构。微服务架构可将一个大型系统拆分成多个细小的微服务,每个微服务负责具体的功能,为了获得更好的服务效果,可以将微服务部署到不同的服务器中,形成微服务集群。在集群架构下,当前应用的负载均衡算法容易造成服务器资源分配不均衡、用户请求不能被及时响应等缺陷,从而使集群的效果得不到充分发挥。本文聚焦微服务集群下的负载均衡算法研究,通过对服务器资源的动态获取与权重分配,实现了对现有负载均衡算法的优化,主要工作内容如下:首先,详细介绍了客户端发送请求后,服务调用在微服务集群中的整体流程,将这个流程划分为客户端、处理区和微服务集群三部分进行处理。本文研究的动态权重负载均衡算法,首先对获取的数据进行保存,其次利用XGBoost模型对下一秒的资源数据进行预测,最后计算得到服务器的负载值,根据负载值选择最优的服务器进行服务调用。在微服务集群中增加了对服务器的资源获取模块,将资源数据传递到处理区,在处理区中负责对客户端发送的请求进行响应及对负载进行均衡处理,实现集群中的服务调用,提高了微服务集群资源利用率、增加了执行效率、减少了高并发量下的服务响应时间。其次,进行仿真实验。选择Spring Cloud系列搭建本文微服务集群,选择Eureka建立注册中心,使用Gateway搭建网关。经过阿里数据集cluster-trace-v2018对XGBoost模型进行参数优化,得到最优参数值,将优化XGBoost算法与随机森林进行对比,证明优化后的预测模型效果良好,并实现了本文算法。最后,结合动态权重负载均衡算法,设计了基于微服务的仪器管理系统,实现了仪器管理、仪器报废管理、仪器维修管理、负责人管理、仪器调拨管理、仪器租赁管理、资产移交管理的功能,并将仪器管理系统部署到集群中进行实验,结果证明本文的动态权重负载均衡算法具有良好的适用性、具有一定的应用价值。与普通轮询算法、加权轮询算法进行对比实验发现,在高并发请求中本文研究的动态权重负载均衡算法效果最好,减少了API的响应时间,提高了微服务集群的服务能力。