一种云集群的负载均衡方法技术

技术编号:28565072 阅读:54 留言:0更新日期:2021-05-25 18:01
本申请公开了一种云集群的负载均衡方法,包括:云集群包括多个负载均衡器LB;设置分布在NS1中的LB为第一LB集群,第一LB集群中包含多个第一LB,将第一LB集群的多个虚拟IP地址发送至路由交换设备,以使路由交换设备在接收到多个数据请求时,将多个数据请求转发至第一LB集群中;第一LB集群基于传输层的负载均衡策略,将多个数据请求分发给不同的第一LB;设置分布在NS2中的LB为第二LB集群,将不同的数据请求转发至第二LB集群中;第二LB集群在收到第一LB转发的不同的数据请求后,基于云集群的流量预测值、工作时长及资源饱和度,确定应用层的负载均衡策略,并基于负载均衡策略分配对应的多个云服务器,以使多个云服务器对不同的数据请求进行响应。

【技术实现步骤摘要】
一种云集群的负载均衡方法
本申请涉及云计算领域,尤其涉及一种云集群的负载均衡方法。
技术介绍
随着云计算技术的发展,各种类型用户业务逐渐迁移到云环境中,对传统负载均衡技术也提出了云化的需求,具体是一种支持多租户隔离的高可靠、高性能、可扩展的负载均衡技术方案,因此支持云化网络架构的软负载均衡器应运而生。负载均衡就是一种计算机网络技术,用来在多个计算机(云集群)、网络连接、CPU、磁碟驱动器或其他资源中分配负载,以达到最佳化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。那么,这种计算机技术的实现方式有多种,其中最常用的是四层和七层负载均衡:四层负载均衡工作在OSI模型的传输层,由于在传输层,只有TCP/UDP协议,这两种协议中除了包含源IP、目标IP以外,还包含源端口号及目的端口号。四层负载均衡服务器在接受到客户端请求后,以后通过修改数据包的地址信息(IP+端口号)将流量转发到应用服务器。七层负载均衡工作在OSI模型的应用层,应用层协议较多,常用http、radius、dns等。七层负载就可以基于这些协议来负载。这些应用层协议中会包含很多有意义的内容。比如同一个Web服务器的负载均衡,除了根据IP加端口进行负载外,还可根据七层的URL、浏览器类别、语言来决定是否要进行负载均衡。对于一般应用而言,Nginx就够了。Nginx可以用于七层负载均衡。但是对于一些大的网站,一般会采用DNS+四层负载+七层负载的方式进行多层次负载均衡。然而,现有技术中,采用四层和七层负载均衡的方式中,往往只是均匀分配流量(数据请求)给不同的链路,并没有考虑到链路本身的属性与流量匹配的合理性,导致分配过程中容易出现某一链路由于高并发或者负荷时间长容易发生故障,导致负载均衡后的链路稳定性较差。
技术实现思路
本申请实施例提供一种云集群的负载均衡方法,用于解决现有技术中四层和七层负载均衡策略导致的链路稳定性差的问题。本专利技术实施例一种云集群的负载均衡方法,包括:将云集群设置为多活负载均衡模式,所述云集群包括多个负载均衡器LB,且所述多个LB动态分布在第一节点的第一网络命名空间NS1和第二节点的第二网络命名空间NS2中,其中,NS1提供OSI模型中传输层的负载均衡服务,NS2提供OSI模型中应用层的负载均衡服务器;设置分布在所述NS1中的LB为第一LB集群,所述第一LB集群中包含多个第一LB,将所述第一LB集群的多个虚拟IP地址发送至路由交换设备,以使所述路由交换设备在接收到多个数据请求时,修改该多个数据请求的目的IP地址为对应的多个所述虚拟IP地址,并修改所述数据请求的端口号,以便将所述多个数据请求转发至所述第一LB集群中;所述第一LB集群基于传输层的负载均衡策略,将所述多个数据请求分发给不同的所述第一LB;设置分布在所述NS2中的LB为第二LB集群,所述第二LB集群中包括多个第二LB,将所述第二LB集群的虚拟IP地址、虚拟URL和HTTPhead发送至第一LB集群,以使不同的所述第一LB在接收到分发的不同数据请求后,基于所述第二LB集群的虚拟IP地址、虚拟URL和HTTPhead,将所述不同的数据请求转发至所述第二LB集群中;所述第二LB集群在收到所述第一LB转发的不同的数据请求后,基于所述云集群的流量预测值、工作时长及资源饱和度,确定应用层的负载均衡策略,并基于所述负载均衡策略分配对应的多个云服务器,以使所述多个云服务器对不同的数据请求进行响应。可选地,所述第二LB集群在收到所述第一LB转发的不同的数据请求后,基于所述云集群的流量预测值、工作时长及资源饱和度,确定应用层的负载均衡策略,包括:所述第二LB集群通过下列公式确定每一个云服务器的响应能力指数F(x,y,z):F(x,y,z)=Log(ht(xt),yt)+λ[zt≥0.8](pt(xt,yt),z),其中,x表示流量,y表示工作时长,h(x)表示根据0-t时刻的流量预测出下一时刻的流量的预测函数,z表示资源饱和度,t为大于1的正整数,表示t时刻,xt,yt,zt分别表示t时刻的流量、工作时长和资源饱和度,pt表示t时刻的归一化函数,λ是校正因子;所述第二LB集群根据所述计算出的每个云服务器的响应能力指数,将不同数量的数据请求分配给对应的云服务器中。可选地,在所述第二LB集群根据所述计算出的每个云服务器的响应能力指数,将不同数量的数据请求分配给对应的云服务器之前,所述方法还包括:分别获取多个终端与每一个所述云服务器的地理位置信息,所述不同数据请求由所述多个终端发起;将所述多个终端与所述云服务器的地理位置进行位置匹配的遍历操作,按照距离远近输出距离匹配值;将所述距离匹配值进行归一化操作,输出距离校正因子;基于所述距离校正因子对所述每个云服务器的响应能力指数进行校正,并基于校正后的响应能力指数,将不同数量的数据请求分配给对应的云服务器。可选地,所述第一LB集群基于传输层的负载均衡策略,将所述多个数据请求分发给不同的所述第一LB之后,所述方法还包括:若出现分发过程中出现单点链路故障,则所述第一LB集群开启等价路由ECMP功能;将所述故障链路中的数据请求通过哈希算法分配到其他链路中,所述其他链路设置在不同的第一LB中。可选地,所述方法还包括:在高并发场景下,所述第二LB集群中动态增加NS数量,并通过自重启操作以实现动态扩展NS实例。可选地,所述流量预测值是通过长短期记忆LSTM神经网络算法,对历史流量值进行模型训练而输出的。上述提供的云集群的负载均衡方法,重新定义了负载均衡策略,从更加精细化的维度(流量预测、工作时长、资源饱和度)确定该负载均衡策略,使得负载均衡更合理,从而提升负载均衡后的云服务器集群的稳定性。附图说明为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。图1为一个实施例中云集群的负载均衡流程示意图;图2为一个实施例中云集群的负载均衡架构图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,本文档来自技高网
...

【技术保护点】
1.一种云集群的负载均衡方法,其特征在于,包括:/n将云集群设置为多活负载均衡模式,所述云集群包括多个负载均衡器LB,且所述多个LB动态分布在第一节点的第一网络命名空间NS1和第二节点的第二网络命名空间NS2中,其中,NS1提供OSI模型中传输层的负载均衡服务,NS2提供OSI模型中应用层的负载均衡服务器;/n设置分布在所述NS1中的LB为第一LB集群,所述第一LB集群中包含多个第一LB,将所述第一LB集群的多个虚拟IP地址发送至路由交换设备,以使所述路由交换设备在接收到多个数据请求时,修改该多个数据请求的目的IP地址为对应的多个所述虚拟IP地址,并修改所述数据请求的端口号,以便将所述多个数据请求转发至所述第一LB集群中;/n所述第一LB集群基于传输层的负载均衡策略,将所述多个数据请求分发给不同的所述第一LB;/n设置分布在所述NS2中的LB为第二LB集群,所述第二LB集群中包括多个第二LB,将所述第二LB集群的虚拟IP地址、虚拟URL和HTTP head发送至第一LB集群,以使不同的所述第一LB在接收到分发的不同数据请求后,基于所述第二LB集群的虚拟IP地址、虚拟URL和HTTPhead,将所述不同的数据请求转发至所述第二LB集群中;/n所述第二LB集群在收到所述第一LB转发的不同的数据请求后,基于所述云集群的流量预测值、工作时长及资源饱和度,确定应用层的负载均衡策略,并基于所述负载均衡策略分配对应的多个云服务器,以使所述多个云服务器对不同的数据请求进行响应。/n...

【技术特征摘要】
1.一种云集群的负载均衡方法,其特征在于,包括:
将云集群设置为多活负载均衡模式,所述云集群包括多个负载均衡器LB,且所述多个LB动态分布在第一节点的第一网络命名空间NS1和第二节点的第二网络命名空间NS2中,其中,NS1提供OSI模型中传输层的负载均衡服务,NS2提供OSI模型中应用层的负载均衡服务器;
设置分布在所述NS1中的LB为第一LB集群,所述第一LB集群中包含多个第一LB,将所述第一LB集群的多个虚拟IP地址发送至路由交换设备,以使所述路由交换设备在接收到多个数据请求时,修改该多个数据请求的目的IP地址为对应的多个所述虚拟IP地址,并修改所述数据请求的端口号,以便将所述多个数据请求转发至所述第一LB集群中;
所述第一LB集群基于传输层的负载均衡策略,将所述多个数据请求分发给不同的所述第一LB;
设置分布在所述NS2中的LB为第二LB集群,所述第二LB集群中包括多个第二LB,将所述第二LB集群的虚拟IP地址、虚拟URL和HTTPhead发送至第一LB集群,以使不同的所述第一LB在接收到分发的不同数据请求后,基于所述第二LB集群的虚拟IP地址、虚拟URL和HTTPhead,将所述不同的数据请求转发至所述第二LB集群中;
所述第二LB集群在收到所述第一LB转发的不同的数据请求后,基于所述云集群的流量预测值、工作时长及资源饱和度,确定应用层的负载均衡策略,并基于所述负载均衡策略分配对应的多个云服务器,以使所述多个云服务器对不同的数据请求进行响应。


2.根据权利要求1所述的方法,其特征在于,所述第二LB集群在收到所述第一LB转发的不同的数据请求后,基于所述云集群的流量预测值、工作时长及资源饱和度,确定应用层的负载均衡策略,包括:
所述第二LB集群通过下列公式确定每一个云服务器的响应能力指数F(x,y,z):
F(x,y,z)=Log(ht(xt),yt)+λ[zt≥0.8](pt(...

【专利技术属性】
技术研发人员:易江枫
申请(专利权)人:深圳市赛宇景观设计工程有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1