论文部分内容阅读
与传统的软件架构相比,微服务架构具有明显的优势。在使用单体式架构开发项目时,通常会面临着业务逻辑实现复杂、软件模块的粒度难以控制等问题。微服务架构将大型复杂的单体架构应用划分为一组微小的服务,每个微服务根据其负责的具体业务职责提炼为单一的业务功能,每个服务可以很容易地部署到生产环境中独立的进程中,且可以很容易地被扩展和变更。在微服务架构中,为了获得高性能的网络服务,通常采用集群技术来搭建高性能服务器,完成原先单个服务器不能完成的一些任务。在集群环境下,各个服务器的资源利用率经常具有很大的差距,导致各个服务器不能均衡地承担用户发出的请求任务,最终导致集群的整体性能大大降低。本文研究微服务集群负载均衡技术,目的是提供有效的负载均衡框架和算法,提高集群系统的处理能力以及服务质量。本文在对微服务、集群、负载均衡等技术进行分析和总结的基础上对微服务集群负载均衡技术进行了深入研究。首先,设计了一个微服务集群负载均衡框架,给出了微服务集群负载均衡的整个实现过程,旨在提高微服务的执行效率、达到合理利用服务器资源的目的。给出了一个基于ARIMA模型的服务器资源预测算法,该算法根据服务器的历史和当前资源参数,即CPU利用率、磁盘利用率、内存利用率和连接数来预测每台服务器下一秒的资源使用情况。提出了一个基于动态权重的微服务集群负载均衡算法,该算法利用基于ARIMA模型预测得到的下一秒资源使用情况来计算各个资源参数的权重,然后基于资源参数权重计算每台服务器的负载,最终选择负载最小的服务器执行请求。采用动态权重计算服务器负载具有较好的时效性,在请求数较多的情况下能够做到更好的负载平衡,降低了请求响应时间,提高了吞吐量。接下来,对微服务集群负载均衡框架和基于动态权重的微服务集群负载均衡算法进行了实现,并与一些相关算法进行了实验对比。最后给出了一个应用案例,验证了本文研究的微服务集群负载均衡框架和算法的有效性。