基于微服务架构的多资源负载均衡优化方法

2022-02-28 12:08罗欢姜唯刘明伟徐律冠
科学技术与工程 2022年5期
关键词:网络资源利用率架构

罗欢, 姜唯, 刘明伟, 徐律冠

(南方电网数字电网研究院有限公司, 广州 510700)

目前无线通信技术不断发展,越来越多的人使用无线网络实现通信。然而,当网络资源出现大量任务请求时,会对网络环境造成一定的影响,出现网络资源负载不均衡的现象,从而导致网络任务超载或空闲的情况发生[1-2]。与此同时,因为在空间和时间上网络用户任务呈现出多变性,所以在同构和异构网络之间任务负载分布不均,从而影响网络的性能表现。为此,网络资源负载均衡优化逐渐成为一种趋势,不仅可以对复杂的无线接入网络实施管理,而且能够有效实现高质量、低成本的运行,且在每个网络既定资源中,更加均匀、合理地对网络任务进行分配,以此提升网络资源整体性能[3]。所以,优化资源负载具有重要意义。

现阶段针对网络资源负载均衡优化方法,相关领域中外学者已经进行了大量研究,并取得了一定的研究成果。肖明等[4]提出了基于雾计算的无线网络负载均衡优化方法。通过云服务层、雾计算层和终端层,建立无线网络架构,采用雾计算,构建无线网络负载均衡优化模型,实现无线接入点(access point, AP)和硬件资源负载均衡。该方法能够有效降低无线网络资源不均衡度,但存在无线网络资源负载均衡执行时间较长的问题。徐俊等[5]提出了基于改进混合蛙跳算法的云工作流负载均衡调度优化方法。根据任务优先级划分层级,建立云工作流分层调度模型。利用时间贪心算法,结合混合蛙跳算法,对混合蛙跳算法进行改进,求解云工作流调度模型,实现云工作流负载均衡调度优化。该方法的资源负载均衡执行时间较短,但网络资源均衡度较低。Asghari等[6]提出了基于珊瑚礁优化和强化学习的云环境资源负载平衡的联合应用方法。将珊瑚礁优化算法与强化学习算法相结合,提高云环境下资源管理效率,使用珊瑚礁优化算法完成准备执行任务的初始资源分配,利用强化学习来避免陷入局部最优,并利用长期的方法来优化资源。该方法的资源利用率较高,但该方法的执行任务效率较低。Chien等[7]提出了基于无能量小区大规模多进多出(multiple input multiple output, MIMO)网络的联合功率分配和负载均衡优化方法。采用无能量小区大规模MIMO网络,在考虑发射功率和硬件损耗的情况下,最小化接入点的总下行链路功耗,获取全局最优解。该方法可以大大降低功耗,减少发射功率,有效处理大规模网络的功率分配和AP激活问题,但该方法的计算量较大。Kumar等[8]提出了云数据中心网络的资源高效负载平衡框架。利用用户共享的虚拟化资源,构建一种新的负载平衡框架,降低计算资源。通过使数据中心的运营成本最小化,采用改进遗传算法,最优分配网络资源负载。该方法能高效利用网络资源,但无法确保服务质量。贾嘉等[9]提出了基于人工蜂群的云计算负载均衡算法。构建云计算系统中计算负载模型,通过负载均衡决策,对云计算系统整体负载进行计算,分组云系统中全体虚拟机,并计算任务调度,通过虚拟机任务向外迁移,实现云计算负载均衡优化。该方法具有一定的有效性,但该方法的计算量较大。戴伟等[10]提出了基于Nginx的负载均衡技术研究与优化方法。根据Nginx的反向代理优势,分析其自带的负载均衡算法,并对其具有实时反馈能力的负载均衡算法进行优化。该方法具有更加合理的分配,其能够有效加快连接处理速度,但该方法的资源均衡度较低。Wei等[11]提出了云数据中心虚拟机布局的多资源平衡优化方法。为了平衡多个资源的使用,以减轻资源碎片,同时最大限度地提高虚拟机放置的服务率,从而防止物理资源的浪费和不良性能。采用联合装箱启发式算法和遗传算法,解决双目标优化问题。该算法以更低的时间复杂度获得近似最优解。但该方法存在资源利用率低的问题。Malarvizhi等[12]提出了具有有效任务调度和资源共享的负载平衡多参数优化方法。采用粒子群优化算法,优化分配大量任务。

利用动态方式,分组部分提交的任务并考虑资产使用状态。在得到每个组的答案后,将集群的所有问题答案合并到最后一个分配图中。基于粒子群优化算法和粒子群优化算法,分配映射并调整负载。该方法具有较高的负载平衡度,但该方法存在执行效率较低的问题。

针对上述问题,现基于微服务架构的多资源负载均衡优化方法,通过构建微服务总体框架结构,动态调度网络多资源服务,降低负载情况,缩短资源负载均衡执行时间。采用微服务架构,构造可扩展的网络拓扑结构。依据优化目标建立优化模型,基于多蚁群算法求解该模型,通过局部和全局更新网络流量之间信息素,对网络多资源负载进行均衡优化。

1 微服务总体框架结构

微服务架构是在云中实现应用和服务部署的技术。该技术主要利用轻量级设备和超文本传输协议(hyper text transfer protocol, HTTP)型应用程序接口(application programming interface, API)实现,但主要关键点在于此服务能够在自身程序内完成运行,通过这一点就能够把微服务架构和服务公开进行区分[13]。在服务公开内,很多服务都被内部独立的进程限制,若其中任何一个服务都需要增加某一种功能,则必须缩小到进程的范围,而在微服务的架构内,仅需要在特定某一种服务内增加所需要的功能,并不会影响到整体进程。

微服务架构能够单独部署任务,实现轻量级通信、有效隔离服务等。设计时一般涉及服务安全性、服务可靠性、服务路由、微服务发现与注册以及微服务数据来源等方面问题。如果需要解决这方面问题,则设计一个微服务结构,使其能够独立地升级、运行以及部署等,不只是如此,还需要微服务间在构造上松耦合,从而在功能上按照架构约束以及要求提供相应的可靠性、安全性以及维护性。微服务总体框架结构如图1所示。

图1中,微服务总体框架结构可以分为5个层次,其作用具体如下。

(1)数据层。在数据源内采集数据,通过一定格式把数据传输至微服务,同时接收微服务调用的数据结果,最后处理数据,把处理后的数据结果传送至数据源进行再次处理。

(2)基础层。此部分可实现安全、可靠的服务,确保健康检查、角色和容器管理、路由以及发现和注册等功能可以正常运行。基础层是为了保证微服务正常运行,具体功能如表1所示。

图1 微服务架构Fig.1 Microservice architecture

表1 微服务架构基础层的核心功能模块Table 1 Core functional modules of the basic layer of the microservice architecture

(3)服务层。该层主要可以依据中间件、运维、定制、数据、通用和基础等服务的不同种类,实现微服务的功能,因为微服务全部采用一种网络应用程序的设计风格和开发(representational state transfer, RESTful)服务方式,来提供外部的运行。

(4)业务层。该层主要是用来完成系统业务,通常来说,是利用服务器来提供许多服务能够一起协作完成某项任务,而信息服务平台内,它的任务通常都包括信息查询、用户管理、信息采集、信息维护以及消息推送等。

(5)表示层。该层的主要目的是将业务层的结果展示给用户。

微服务架构能够提供负载均衡算法,将网络用户多个任务请求,分配给不同的服务或服务器来处理,以此来提高系统的稳定性。通过建立多个小粒度且聚焦功能的服务形态,动态调度网络多资源服务。在一定程度上,考虑了网络的可扩展性,解决了应用系统可靠性等方面的问题。

2 网络多资源负载均衡优化方法

提出的网络多资源负载均衡优化方法依据微服务总体框架结构,构建网络多资源负载均衡优化模型,采用多蚁群算法构建负载均衡优化模型,根据网络流量中信息素的相互作用,局部和全局更新信息素,实现网络多资源负载均衡优化。

2.1 构建网络多资源负载均衡优化模型

在进行网络多资源负载均衡优化的过程中,首先根据微服务总体框架结构,构造网络拓扑结构。然后依据网络多资源负载均衡优化目标,结合微服务架构下构造的可扩展性网络拓扑结构,构建网络多资源负载均衡优化模型,具体过程如下。

采用微服务架构,构造可扩展性的网络拓扑结构。通常情况下,利用有向图表示网络拓扑,其结构如图2所示。

V为网络节点的集合;C为网络链路容量和其他约束的条件[14]; E为网络链路的集合图2 网络拓扑结构图Fig.2 Network topology structure diagram

数值,(i,j)∈E,具体公式为

(1)

以最大链路利用率最小化和网络业务流转移至对应较轻的负载链路中为优化目标,从而提高资源负载均衡度,继而降低因为流量分布的不均衡所导致的算法效率低的问题。依据该网络多资源负载均衡优化目标,结合微服务架构下构造的可扩展性网络拓扑结构,建立具体的网络多资源负载均衡优化模型公式为

(2)

而约束条件公式为

(3)

式(3)中:Cij为网络链路(i,j)容量;hk为资源负载均衡度;α为网络最大链路的利用率[15]。

通过式(2)、式(3)能够看出,网络资源的均衡负载问题主要是指在多约束的条件下,在多条路径内选取一条最佳路径。因此,利用多蚁群算法进一步寻求最优,以最快速度找出网络资源负载最佳解,实现网络资源的利用率提升。

2.2 多蚁群算法求解负载均衡优化模型

在进行网络多资源负载均衡优化的过程中,以上述构建的网络多资源负载均衡优化模型为依据,采用多蚁群算法对网络多资源负载均衡优化模型进行求解,通过分析网络流量之间信息素的相互作用,局部和全局更新网络流量之间信息素,实现网络多资源负载均衡优化。具体过程如下。

通过多蚁群算法对外部条件或者环境的变化进行自动调整,优化网络资源。

(4)

(5)

(6)

(7)

(8)

(9)

(10)

通过上述步骤,采用多蚁群算法对网络多资源负载均衡优化模型进行求解,局部和全局更新信息素,从而能够对网络资源进行负载均衡优化,提升网络资源的处理性能,降低不必要的损耗。

3 实验分析

3.1 实验环境

为了验证基于微服务架构的多资源负载均衡优化方法的有效性,通过内网环境对其进行实验测试以及评估。选取GridSim网格模拟工具对所提方法进行模拟仿真,实验所采用的具体配置为10台IBM-x3650 M4-2U计算机服务器。设置网络物理机参数如表2所示。

表2 网络物理机参数Table 2 Network physical machine parameters

3.2 实验结果对比

3.2.1 网络资源负载均衡效果

为了验证所提方法的优化性能,将资源负载均衡度、资源利用率和执行时间作为实验指标。资源负载均衡度能够有效对负载均衡效果进行评估,其均衡度越高,负载均衡效果越好,资源负载均衡度计算公式为

(11)

根据图3可知,文献[4]方法和文献[5]方法的资源负载均衡度波动较大,而所提方法的资源负载均衡度较为平滑。且当任务数达到1×103个时,文献[4]方法的平均资源负载均衡度为63.4%,文献[5]方法的平均资源负载均衡度为69.4%,而所提方法的平均资源负载均衡度为89.4%。由此可知,所提方法的资源负载均衡度较高,保障了资源节点的计算能力,实现了资源负载动态分配。因为所提方法以网络业务转移至对应负载链路为目的,构建网络资源负载均衡优化模型,能够对网络多资源负载进行均衡优化,从而提高资源负载均衡度,确保资源负载均衡效果。

图3 不同方法的资源负载均衡度Fig.3 Resource load balancing degree of different methods

3.2.2 网络资源利用率

为了进一步验证所提方法的有效性,选取资源利用率作为反映网络负载平衡情况的指标,资源利用率越高,网络资源负载平衡情况越好,资源利用率计算公式为

(12)

式(12)中:Lx为网络资源实际消耗量;Lp为网络资源完成尚需消耗量。设置1×104MB网络资源量,分别采用所提方法、文献[4]方法和文献[5]方法,通过式(12)计算不同方法的网络资源利用率进行对比,得到不同方法的网络资源利用率对比结果如图4所示。

通过图4可以看出,当网络资源量达到1×104MB时,文献[4]方法的平均网络资源利用率为72.8%,文献[5]方法的平均网络资源利用率为69.4%,而所提方法的平均网络资源利用率高达89.2%。由此可知,所提方法的网络资源利用率较高。因为所提方法采用多蚁群算法,寻求网络资源负载最佳解,采用微服务架构,构造网络拓扑结构,从而提升网络资源利用率。

图4 不同方法的网络资源利用率Fig.4 Network resource utilization of different methods

3.2.3 资源负载均衡执行效率

在此基础上,为了验证所提方法的资源负载均衡执行效率,将资源负载均衡执行时间作为实验评价指标。执行时间可以对资源负载均衡执行效率进行有效评估,执行时间越短,执行效率越高。对比所提方法、文献[4]方法和文献[5]方法的资源负载均衡执行时间结果如图5所示。

通过图5可以看出,随着网络资源量的增加,不同方法的资源负载均衡执行时间随之增大。当网络资源量为1×104MB时,文献[4]方法和文献[5]方法的资源负载均衡执行时间分别为28 s和17 s,而所提方法的资源负载均衡执行时间仅为10 s。由此可知,所提方法执行时间短,执行效率高,在工作高峰期间也能够对数据进行合理处理,降低节点损耗。

图5 不同方法的资源负载均衡执行时间Fig.5 Resource load balancing execution time of different methods

4 结论

提出的基于微服务架构的多资源负载均衡优化方法在微服务架构下,建立负载均衡优化模型,利用多蚁群算法进行求解,实现网络多资源负载均衡优化。

(1)所提方法通过构建微服务总体框架结构,动态调度网络多资源服务,降低负载情况,其资源负载均衡执行时间仅为10 s,可有效提高负载均衡执行效率。

(2)所提方法采用微服务架构,考虑网络可扩展性构造网络拓扑结构,提高资源利用率,其网络资源利用率高达89.2%。

(3)所提方法建立网络多资源负载均衡优化模型,利用多蚁群算法进行求解,局部和全局更新网络流量之间信息素,能够对网络多资源负载进行均衡优化,其资源负载均衡度为89.4%,能够有效提高资源负载均衡度,确保资源负载均衡效果。

猜你喜欢
网络资源利用率架构
基于FPGA的RNN硬件加速架构
知识组织理论下图书馆网络资源发现服务体系优化研究
2020年煤炭采选业产能利用率为69.8% 同比下降0.8%
功能架构在电子电气架构开发中的应用和实践
基于SDN的分片网络资源编排系统设计
2019年全国煤炭开采和洗选业产能利用率为70.6%
基于云服务的图书馆IT架构
化肥利用率稳步增长
浅议如何提高涉烟信息的利用率
日本网络资源存档项目实践研究