一种负载均衡系统、方法及计算机可读存储介质与流程

文档序号:30950096发布日期:2022-07-30 07:08阅读:84来源:国知局
一种负载均衡系统、方法及计算机可读存储介质与流程

1.本技术涉及云计算管理领域,尤其涉及一种负载均衡系统、方法及计算机可读存储介质。


背景技术:

2.随着云计算管理平台(openstack)的迅速发展,愈来愈多的业务形成业务集群迁移至openstack环境中进行处理;其中,因不同行业的业务其业务类型会有明显的时段特征,如:游戏行业在周末或晚上是业务访问高峰期,电商行业在特殊的促销日期也是业务访问高峰期;高峰期服务器压力较高,需要较多的云主机来分担压力,进而会增加购买云主机的成本;而低谷期服务器压力则普遍较低,所需的云主机数量与高峰期相比并不多,对应购买云主机的成本也较低;相对技术中,为了应对这种业务高峰期与低谷期的情况,云计算管理平台上业务大多采用弹性伸缩的方法对业务集群进行自动扩展与收缩,来避免高峰期云主机压力较大,低谷期资源闲置过多的情况,以灵活调整业务,控制成本;同时业务集群为避免单台服务器压力过高或单点故障,通常在openstack环境中使用单台负载均衡器将接收到的业务均衡至不同的云主机中进行处理,这样容易出现业务量过大时,单台负载均衡器无法满足业务需求,进而造成性能瓶颈的问题。


技术实现要素:

3.为解决上述技术问题,本技术期望提供一种负载均衡系统、方法及计算机可读存储介质,通过灵活调整负载均衡器的数量提高了处理业务能力的性能。
4.为达到上述目的,本技术的技术方案是这样实现的:
5.本技术实施例提供一种负载均衡系统,所述负载均衡系统包括:第一伸缩模块、第二伸缩模块和管理模块,所述第一伸缩模块包括至少两个负载均衡器;其中:
6.所述管理模块,用于获取待处理业务,基于所述待处理业务的数据量,调节所述第一伸缩模块中能够接收所述待处理业务的负载均衡器的数量;
7.所述负载均衡器,用于接收所述管理模块分发的所述待处理业务,并分配所述待处理业务至所述第二伸缩模块;
8.所述第二伸缩模块,用于对接收到的所述待处理业务进行处理。
9.在一些实施方式中,所述管理模块包括:获取单元和解析单元,其中:
10.所述获取单元,用于获取针对所述待处理业务访问的网站域名信息,并将所述网站域名信息发送给所述解析单元;
11.所述解析单元,用于对接收到的所述网站域名信息进行域名解析,得到所述待处理业务。
12.在一些实施方式中,所述管理模块还包括:第一监控单元和第一控制单元,其中:
13.所述第一监控单元,用于获取所述第一伸缩模块中处于运行状态的第一负载均衡器的初始数量;基于所述待处理业务的数据量,确定所述第一负载均衡器的第一运行参数;
并将所述初始数量和所述第一运行参数发送给所述第一控制单元;
14.所述第一控制单元,用于根据所述第一运行参数,调节所述初始数量。
15.在一些实施方式中,所述第一控制单元包括:分析单元和第一增减单元,其中:
16.所述分析单元,用于基于所述第一运行参数和预设策略,确定出第一中间数,并将所述第一中间数发送给所述第一增减单元;
17.所述第一增减单元,用于根据所述第一中间数和第一伸缩策略,调节所述初始数量至目标数。
18.在一些实施方式中,所述第一增减单元包括:
19.第一扩展子单元,用于在所述第一中间数大于所述初始数量的情况下,确定出第一扩展数,并根据所述第一伸缩策略和所述第一扩展数,将所述初始数量增加至所述目标数;
20.第一缩减子单元,用于在所述第一中间数小于所述初始数量的情况下,确定出第一缩减数,并根据所述第一伸缩策略和所述第一缩减数,将所述初始数量缩减至所述目标数。
21.在一些实施方式中,所述第一缩减子单元,还用于将缩减的所述负载均衡器的工作状态更新为停用状态,并上报至所述第一监控单元。
22.在一些实施方式中,所述第二伸缩模块包括至少两个子模块;所述子模块与所述负载均衡器一一对应连接,所述第一扩展子单元,还用于将所述子模块的数量增加至所述目标数;
23.相应地,所述第一缩减子单元,还用于将所述子模块的数量缩减至所述目标数。
24.在一些实施方式中,所述子模块包括至少两个用于处理所述待处理业务的云主机,所述管理模块还包括:第二监控单元和第二控制单元,其中:
25.所述第二监控单元,用于获取所述子模块中处于运行状态的云主机的第二运行参数,并发送所述第二运行参数至所述第二控制单元;
26.所述第二控制单元,用于将接收到的第二运行参数携带在控制指令中,发送给能够接收所述待处理业务的每一所述负载均衡器;
27.每一所述负载均衡器,用于响应所述控制指令,基于所述第二运行参数,按照第二伸缩策略调节与每一所述负载均衡器所连接的子模块中所述云主机的数量。
28.本技术实施例提供一种负载均衡方法,应用于负载均衡系统,所述负载均衡系统包括:第一伸缩模块、第二伸缩模块和管理模块,所述第一伸缩模块包括至少两个负载均衡器,所述方法包括:
29.采用所述管理模块获取待处理业务,基于所述待处理业务的数据量,调节所述第一伸缩模块中能够接收所述待处理业务的负载均衡器的数量;
30.采用所述负载均衡器接收所述待处理业务,并分配所述待处理业务至所述第二伸缩模块;
31.采用所述第二伸缩模块对接收到的所述待处理业务进行处理。
32.对应地,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述所述的负载均衡方法的步骤。
33.本技术提供的负载均衡系统、方法及计算机可读存储介质,其中,负载均衡系统包括:第一伸缩模块、第二伸缩模块和管理模块,所述第一伸缩模块包括至少两个负载均衡器;通过包括至少两个负载均衡器的第一伸缩模块以及第二伸缩模块构成负载均衡系统;其中:所述管理模块,用于获取待处理业务,基于所述待处理业务的数据量,调节所述第一伸缩模块中能够接收所述待处理业务的负载均衡器的数量;实现了基于待处理业务的数据量来调节负载均衡器的数量;所述负载均衡器,用于接收所述管理模块分发的所述待处理业务,并分配所述待处理业务至所述第二伸缩模块;所述第二伸缩模块,用于对接收到的所述待处理业务进行处理;如此,通过包括至少两个负载均衡器的第一伸缩模块以及第二伸缩模块构成负载均衡系统,并基于待处理业务的数据量来调节能够接收待处理业务的负载均衡器的数量,进而通过灵活调整负载均衡器的数量提高了处理业务能力的性能。
附图说明
34.图1为本技术实施例提供的一种负载均衡系统100的结构示意图;
35.图2为本技术实施例提供的一种管理模块110的结构示意图;
36.图3为本技术实施例提供的又一种负载均衡系统100的结构示意图;
37.图4为本技术实施例提供的一种openstack环境中多负载均衡的云主机弹性伸缩系统架构示意图;
38.图5为本技术实施例提供的一种负载均衡方法的流程示意图;
39.图6为本技术实施例提供的一种openstack环境中多负载均衡的云主机弹性伸缩方法的时序图;
40.100-负载均衡系统,110-管理模块,111-获取单元,112-解析单元,113-第一监控单元,114-第一控制单元,1141-分析单元,1142-第一增减单元,11421-第一扩展子单元,11422-第一缩减子单元,115-第二监控单元,116-第二控制单元,120-第一伸缩模块,121-负载均衡器,130-第二伸缩模块,131-子模块,1311-云主机。
具体实施方式
41.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
42.为了能够更加详尽地了解本技术实施例的特点与技术内容,下面结合附图对本技术实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本技术。
43.本技术的实施例提供一种负载均衡系统100,如图1所示,该负载均衡系统100包括:第一伸缩模块120、第二伸缩模块130和管理模块110,第一伸缩模块120包括至少两个负载均衡器121;其中:
44.管理模块110,用于获取待处理业务,基于待处理业务的数据量,调节第一伸缩模块120中能够接收待处理业务的负载均衡器121的数量;
45.负载均衡器121,用于接收管理模块110分发的待处理业务,并分配待处理业务至第二伸缩模块130;
46.第二伸缩模块130,用于对接收到的待处理业务进行处理。
47.在本技术实施例中,负载均衡系统100可以是基于openstack环境搭建生成的。
48.需要说明的是,负载均衡是一种根据负载均衡算法,将工作分摊到多个操作上去执行,从而共同完成工作任务的一种方式;进而,负载均衡器121是一种根据负载均衡算法将工作分发至多个处理器的设备。
49.需要说明的是,管理模块110即对负载均衡系统100执行相关管理工作的模块;在一种可行的实现方式中,管理模块110可以对第一伸缩模块120和第二伸缩模块130执行监控,分发任务以及弹性伸缩(auto scaling)等;其中,弹性伸缩是根据用户的业务需求,通过策略自动调整其业务资源的服务,即可以根据业务需要自行定义伸缩策略,进而来降低人为反复调整资源,以应对业务变化和负载高峰的工作量,实现了节约资源和人力运维成本。
50.其中,管理模块110基于待处理业务的流量,按照预设策略来调节第一伸缩模块120内部能够接收待处理业务的负载均衡器121的数量;可以是对其的数量进行增加,也可以是对其的数量进行减少;换而言之,在待处理业务的流量较大时或超过第一预设阈值时,对能够接收待处理业务的负载均衡器121的数量相对应地增加;在待处理业务的流量较小或低于第二预设阈值时,对能够待处理业务的负载均衡器121的数量相对应地减少;其中,第一预设阈值大于第二预设阈值。
51.其中,第一伸缩模块120包括的至少两个负载均衡器121的数量可以基于第一预设策略进行增减;相应地,第二伸缩模块130内部的相关模块的数量可以基于第二预设策略进行增减;其中,第一预设策略和第二预设策略是基于弹性伸缩生成的;同时,弹性伸缩可以是基于相关设备的中央处理器(central processing unit,cpu)使用率、内存使用率、图形处理器(graphics processing unit,gpu)使用率、入网流量、吞吐量或传输控制协议(transmission control protocol,tcp)连接数等作为监控指标来配置对应的伸缩策略。
52.在一种可行的实现方式中,第二伸缩模块130包括至少两个子模块131(图1未示出),其中,子模块131与负载均衡器121一一对应连接;同时,第二伸缩模块130内部的每一子模块131可以包括多个云主机1311(图1未示出),其中,云主机1311按照预设策略形成云主机伸缩组即子模块131,子模块131与云主机1311的映射关系为1:n,其中,n为大于等于1的正整数;进而,第一伸缩模块120内部的负载均衡器121与第二伸缩模块130内部的云主机1311的映射关系为1:n;进而,第二伸缩模块130对接收到的待处理业务进行处理即为第二伸缩模块130内部的云主机1311对待处理业务进行处理;其中,云主机1311是云计算在基础设施应用上的重要组成部分,位于云计算产业链金字塔底层,同时,云主机1311是一组集群主机上虚拟出多了类似独立主机的部分,集群中每个主机上都有云主机1311的一个镜像,进而大大提高了虚拟主机的安全稳定性。
53.在本技术实施例中,待处理业务可以是网站域名信息通过域名解析得到的业务信息,其中,网站域名信息可以是与负载均衡系统100进行通信的客户端200(图1未示出)输入的,也可以是用户通过浏览器访问得到的;在一种可行的实现方式中,待处理业务还可以是与负载均衡器121对应的互联网协议(internet protocol,ip)地址对应的业务流量信息;本技术对待处理业务的具体指代不作任何限定。
54.需要说明的是,每一负载均衡器121都有其对应的ip入口,相对应地,包括至少两个负载均衡器121的第一伸缩模块120有多个ip入口,为了避免同一个业务集群对应多个ip入口造成的混乱,使用域名管理服务对公网域名内网域名进行动态管理,通过一个域名与
多个负载均衡器的ip入口进行对应,相应地,通过域名系统(domain name system,dns)服务来实现负载均衡器121的弹性伸缩。
55.需要说明的是,管理模块110不仅可以直接与第一伸缩模块120进行信息交互,也可以与第二伸缩模块130之间进行信息交互。
56.在一种可行的实现方式中,继续如图1所示,管理模块110,包括:获取单元111和解析单元112(图1未示出),其中:
57.获取单元111,用于获取针对待处理业务访问的网站域名信息,并将网站域名信息发送给解析单元112;
58.解析单元112,用于对接收到的网站域名信息进行域名解析,得到待处理业务。
59.在本技术实施例中,获取单元111可以通过与外界的客户端或者互联网之间进行信息交互,来获取针对待处理业务访问的网站域名信息,并将获取到的网站域名信息发送给解析单元112。
60.其中,解析单元112,对获取单元111发送的网站域名信息进行域名解析,即将网站域名信息转换为对应的ip地址,在本技术实施例中,待处理业务可以是ip地址。
61.需要说明的是,ip地址与网站域名信息是一对多的关系,即一个ip地址可以对应多个网站域名信息,但一个网站域名信息只有一个ip地址。
62.在一种可行的实现方式中,如图1和图2所示,管理模块110还包括:第一监控单元113和第一控制单元114,其中:
63.第一监控单元113,用于获取第一伸缩模块120中处于运行状态的第一负载均衡器121的初始数量;基于待处理业务的数据量,确定第一负载均衡器121的第一运行参数;并将初始数量和第一运行参数发送给第一控制单元114;
64.第一控制单元114,用于根据第一运行参数,调节初始数量。
65.其中,第一监控单元113通过实时监控第一伸缩模块120中的负载均衡器121的情况,来获取处于运行状态的第一负载均衡器121的初始数量;且第一伸缩模块120中的每一负载均衡器121均可以具有两大状态,即处于运行状态和停用状态。
66.同时,第一监控单元113还可以根据待处理业务的数据量,以及第一负载均衡器121的初始数量,确定出第一负载均衡器121的第一运行参数;其中,第一运行参数包括但不限于与第一负载均衡器121建立tcp连接的tcp连接数、第一负载均衡器121当前状态下的网络吞吐量、cpu使用率、内存使用率等。
67.需要说明的是,第一监控单元113的一端与第一控制单元114的一端进行连接;第一监控单元113将获取到的初始数量和第一运行参数发送至第一控制单元114。
68.其中,第一控制单元114,用于根据第一运行参数,来动态调节第一伸缩模块120内部处于运行状态的第一负载均衡器121的初始数量,使得最终处于运行状态的第一负载均衡器121能够接收待处理业务。
69.在一种可行的实现方式中,继续如图1以及图2所示,第一控制单元114包括:分析单元1141和第一增减单元1142(图中未示出),其中:
70.分析单元1141,用于基于第一运行参数和预设策略,确定出第一中间数,并将第一中间数发送给第一增减单元1142;
71.第一增减单元1142,用于根据第一中间数和第一伸缩策略,调节初始数量至目标
数。
72.在本技术实施例中,分析单元1141,用于基于第一运行参数和预设策略,确定出第一中间数,其中,第一中间数可以是与初始数量相同,也可以不同;同时,预设策略可以是特定的参数指标,如:与每一负载均衡器121建立tcp连接的tcp连接数上限、第一负载均衡器121当前状态下的网络吞吐量的上限、cpu使用率的上限、内存使用率上限等;也可以是特定的预设规则,如:在特定的场景下,某些特定的负载均衡器121不可使用等,在本技术实例中对此不作任何限定。
73.需要说明的是,分析单元1141和第一增减单元1142之间信息交互的实现方式在本技术中不做任何限定。
74.其中,第一增减单元1142,根据第一中间数和第一伸缩策略来调节初始数量至目标数;其中,目标数可以大于、等于或小于初始数量;且第一伸缩策略是负载均衡系统100自带的,也可以由用户进行自定义,更可以是负载均衡系统100按照待处理业务的数量以及相关参数生成的,本技术对此不作任何限定。
75.在一种可行的实现方式中,继续如图1和图2所示,第一增减单元1142,包括:
76.第一扩展子单元11421(图中未示出),用于在第一中间数大于初始数量的情况下,确定出第一扩展数,并根据第一伸缩策略和第一扩展数,将初始数量增加至目标数;
77.第一缩减子单元11422(图中未示出),用于在第一中间数小于初始数量的情况下,确定出第一缩减数,并根据第一伸缩策略和第一缩减数,将初始数量缩减至目标数。
78.其中,第一扩展子单元11421和第一缩减子单元11422在执行相应的初始数量调整前,都需对第一中间数和初始数量进行数值大小的比对。
79.其中,在第一中间数大于初始数量的情况下,采用第一扩展子单元11421确定出第一扩展数,即第一中间数减去初始数量所得,然后再基于第一伸缩策略和第一扩展数,将第一伸缩模块120中的处于运行状态的第一负载衡器121的初始数量增加为目标数;相应地,在第一中间数小于初始数量的情况下,采用第一缩减子单元11422确定出第一缩减数,即初始数量减去第一中间数所得,然后再基于第一伸缩策略和第一缩减数,将第一伸缩模块120中的处于运行状态的第一负载衡器121的初始数量缩减为目标数。
80.在又一种可行的实现方式中,第一缩减子单元11422,还用于将缩减的负载均衡器121的工作状态更新为停用状态,并上报至第一监控单元113。
81.其中,第一缩减子单元11422,还可以执行更新操作和上报操作,即将缩减掉的负载均衡器121的工作状态更新为停用状态,即其对应的工作状态更新为不可用状态,并将该状态上报至第一监控单元113,这样可以减少管理模块110管控不必要的负载均衡器,节省功耗并节约相关成本。
82.相应地,第一扩展子单元11421,也可以同样执行更新操作和上报操作,即将新增加的负载均衡器121的工作状态更新为工作中或处于运行状态,并将该状态上报至第一监控单元113,使得管理模块110内部的第一监控单元113可实时获取处于运行状态的第一负载均衡器121的相关信息。
83.本技术实施例提供的负载均衡系统100,通过包括至少两个负载均衡器121的第一伸缩模块120以及第二伸缩模块130构成负载均衡系统100,并基于待处理业务的数据量来调节能够接收待处理业务的负载均衡器121的数量,进而通过灵活调整负载均衡器的数量
提高了处理业务能力的性能。
84.基于前述实施例,在本技术实施例提供的负载均衡系统100中,参照图1至图3所示,第二伸缩模块130包括至少两个子模块131;子模块131与负载均衡器121一一对应连接,第一扩展子单元11421,还用于将子模块131的数量增加至目标数。
85.相应地,第一缩减子单元11422,还用于将子模块131的数量缩减至目标数。
86.其中,第二伸缩模块130内部包括的至少两个子模块131与第一伸缩模块120内部的至少两个负载均衡器121一一对应连接的;在一种可行的实现方式中,处于运行状态的负载均衡器121与处理运行状态的子模块131一一对应连接;同时,处于停用状态的负载均衡器121也可以与处于停用状态的子模块131一一对应连接。
87.需要说明的是,第一扩展子单元11421和第一缩减子单元11422同时可以基于处于运行状态的负载均衡器121的目标数更新子模块131的数量为目标数,其中更新数量的操作可以是基于增加或缩减来实现的,进而以实现同时处于运行状态的负载均衡器121和子模块131的数量是一一对应的。
88.在一种可行的实现方式中,继续如图1~3所示,子模块131包括至少两个用于处理待处理业务的云主机1311(图中未示出),管理模块110还包括:第二监控单元115和第二控制单元116(图中未示出),其中:
89.第二监控单元115,用于获取子模块131中处于运行状态的云主机1311的第二运行参数,并发送第二运行参数至第二控制单元116;
90.第二控制单元116,用于将接收到的第二运行参数携带在控制指令中,发送给能够接收待处理业务的每一负载均衡器121;
91.每一负载均衡器121,用于响应控制指令,基于第二运行参数,按照第二伸缩策略调节与每一负载均衡器121所连接的子模块131中云主机1311的数量。
92.其中,子模块131与云主机1311之间具体1:n的映射关系,进而负载均衡器121与云主机之间也具有1:n的映射关系;换而言之,第一伸缩模块120与第二伸缩模块130之间是1:1的对应关系,第一伸缩模块120与子模块131之间也是1:n的映射关系。
93.同时,第二监控单元115还可以获取每一子模块131中处于运行状态的云主机1311的第二运行参数,并发送第二运行参数至第二控制单元116;其中,第二运行参数包括但不限于云主机1311的cpu使用率或内存使用率等。
94.需要说明的是,第二控制单元116用于将接收到的第二运行参数携带在控制指令中,该控制指令用于控制能够接收待处理业务的每一负载均衡器121执行相关操作;并发送该控制指令至每一能够接收待处理业务的每一负载均衡器121。
95.在本技术实施例中,每一负载均衡器121,用于响应控制指令,并基于第二运行参数,按照第二伸缩策略调节与每一负载均衡器121所连接的子模块131中云主机1311的数量,可以是对云主机1311的数量的增加或缩减,其中,第二伸缩策略是基于云主机1311的相关指标生成对云主机1311进行扩展或缩减的策略。
96.基于此,本技术实施例还提供一种openstack环境中多负载均衡的云主机弹性伸缩系统架构示意图,如图4所示,其应用于本技术实施例提供的负载均衡系统100;其中,200为与负载均衡系统100进行信息交互的客户端或互联网,发送针对待处理业务访问的网站域名信息至负载均衡系统100内的管理模块110中的获取单元111,同时管理模块100通过其
中的解析单元112对网站域名信息进行解析,得到待处理业务,并发送该待处理业务分发至与管理模块110进行信息交互的第一伸缩模块110即负载均衡器伸缩组内部的至少两个负载均衡器121,同时负载均衡器121将待处理业务均衡至与负载均衡器121一一对应连接的第二伸缩模块130,即云主机伸缩组内部的至少两个子模块131中的多个云主机1311进行处理。
97.同时,管理模块110还可以同时对第一伸缩模块120和第二伸缩模块130进行监控服务和执行弹性伸缩服务,其中,监控服务主要是监控第一伸缩组120和第二伸缩组130的内部各设备的运行情况,如当第一伸缩模块120内负载均衡器121的tcp连接数和网络吞吐量超过设定指标时向弹性伸缩服务发出告警,基于此,开启针对第一伸缩模块120的自动伸缩动作,同时基于相同的原理针对第二伸缩模块130也执行相同的伸缩动作;且弹性伸缩服务主要负责对负载均衡器121、以及云主机1311的逻辑划分与对生命周期的管理,即对第一伸缩模块120内部的负载均衡器121和第二伸缩模块130内部的云主机1311以及子模块131进行伸缩管理。
98.在前述基于负载均衡系统技术方案基础上,本技术还提供一种负载均衡方法,应用于如图1至4所示的负载均衡系统100,负载均衡系统100包括:第一伸缩模块120、第二伸缩模块130和管理模块110,第一伸缩模块120包括至少两个负载均衡器121,同时如图5所示,本技术所提供的方法包括:
99.步骤101、采用管理模块110获取待处理业务,基于待处理业务的数据量,调节第一伸缩模块120中能够接收待处理业务的负载均衡器121的数量。
100.其中,管理模块110依次基于内部的获取单元111和解析单元112得到待处理业务,并基于待处理业务的数据量,按照预设规则来调节第一伸缩模块120内能够接收待处理业务的负载均衡器121的数量,并使得该能够接收待处理业务的负载均衡器121处于工作状态。
101.步骤102、采用负载均衡器121接收待处理业务,并分配待处理业务至第二伸缩模块130。
102.其中,采用每一能够接收待处理业务的负载均衡器121接收各自对应的待处理业务,并将其接收到的待处理业务按照一定规则分配至与其对应连接的第二伸缩模块13内部的云主机1311。
103.步骤103、采用第二伸缩模块130对接收到的待处理业务进行处理。
104.其中,第二伸缩模块130基于内部的云主机1311对接收到的待处理业务进行处理。
105.本技术实施例提供的负载均衡方法,通过包括至少两个负载均衡器121的第一伸缩模块120以及第二伸缩模块130构成负载均衡系统100,并基于待处理业务的数据量来调节能够接收待处理业务的负载均衡器121的数量,进而通过灵活调整负载均衡器的数量提高了处理业务能力的性能。
106.基于此,本技术实施例还提供一种openstack环境中多负载均衡的云主机弹性伸缩方法的时序示意图,如图6所示,其应用于本技术实施例提供的负载均衡系统100;其中,监控服务是基于上述负载均衡系统100内部管理模块110的第一监控单元113和第二监控单元115来操作的,相应地,弹性伸缩服务是基于第一控制单元114和第二控制单元116来实现的,负载均衡器伸缩组即第一伸缩模块120,云主机伸缩组即第二伸缩模130,域名解析服务
即管理模块110的解析单元112。
107.同时,监控服务对弹性伸缩服务本身、负载均衡器伸缩组以及云主机伸缩组进行监控,用于执行步骤201、监控服务监控弹性伸缩服务,同时弹性伸缩服务基于监控服务实现步骤202、弹性伸缩服务进行自身的服务管理;相对应地,监控服务执行步骤203、监控服务对负载均衡器伸缩组内的负载均衡器连接数、吞吐量进行监控,并同时获取负载均衡器伸缩组发送的监控数据,即步骤204、负载均衡器伸缩组将监控数据返回至监控服务;监控服务基于连接数和吞吐量为监控项,通过用户自定义设置监控指标和动作,实现监控数据的收集,并执行步骤205、监控服务向弹性伸缩服务发送监控告警;弹性伸缩服务收到告警数据后,根据用户自定义的动作,进行伸缩组伸缩前的检查,比如资源配额、使用状态等即执行步骤206、弹性伸缩服务对负载均衡器伸缩组伸缩进行检查;弹性伸缩服务检查完毕后,即执行步骤207、弹性伸缩服务向负载均衡伸缩组发出伸缩动作的执行指令;基于此,执行步骤208、负载均衡器伸缩组对接收到的动作命令进行检查。由于负载均衡器的伸缩会绑定其所对应的云主机伸缩组中的云主机,所以负载均衡器伸缩组会根据绑定的负载均衡器内云主机再均衡策略进行云主机的匹配检查,确定伸缩的负载均衡器及其后端绑定的云主机伸缩组,负载均衡器伸缩组对再均衡策略检查完毕后,开始执行负载均衡器伸缩组的伸缩动作即步骤209、负载均衡器伸缩组执行负载均衡器伸缩动作,并向云主机伸缩组发出消息,进行云主机伸缩动作的执行即执行步骤210、负载均衡器伸缩组发送伸缩动作命令至云主机伸缩组,以及步骤211、云主机伸缩组执行云主机伸缩动作;相应地,负载均衡器伸缩组和云主机伸缩组伸缩完成后,向弹性伸缩服务反馈伸缩结果,即执行以下步骤212、云主机伸缩组将伸缩结果反馈至负载均衡器伸缩组,步骤213、负载均衡器伸缩组将自身伸缩结果以及云主机伸缩结果反馈至弹性伸缩服务;步骤214、弹性伸缩服务对相应地的伸缩服务数据进行更新,以及步骤215、弹性伸缩服务将获取的所有伸缩结果反馈至监控服务;其中,包括伸缩的负载均衡器数量、每一负载均衡器绑定的云主机伸缩组及每一云主机数量、伸缩结果;最后,执行步骤216至步骤218,即弹性伸缩服务将负载均衡器ip更新通告发送至域名解析服务,相应地,域名解析服务收到ip更新通告后,对域名所绑定的可用ip信息进行更新:标记已收缩的负载均衡器的ip为不可用状态;标记已扩展的负载均衡器的ip为可用状态,以及域名解析服务更新ip后即向弹性伸缩服务返回更新结果。
108.需要说明的是,需针对公网环境下需向公共ip租借的用户将负载均衡器伸缩组中每一负载均衡器121要使用的ip及其对应的网站域名信息进行注册一级备案,并将该ip以及网站域名信息在openstack云环境下的域名解析服务中进行注册与托管。
109.其中,当负载均衡器伸缩组中的负载均衡器121的连接数或吞吐量达到客户自定义的监控指标后,监控服务通过触发接收告警数据接口中的alarm_url来向弹性伸缩服务发送告警信息。
110.同时,基于“alarm url”这里表征负载均衡器伸缩组收到告警信息后,会向该url发送post来触发负载均衡器伸缩组的收缩或者扩展动作。
111.同时伸缩动作的类型,有scale_in与scale_out两种,伸缩动作的类型,有scale_in与scale_out两种。
112.基于前述实施例,本技术的实施例提供一种计算机可读存储介质,计算机可读存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以
实现如图5对应的实施例提供的负载均衡方法的步骤。
113.需要说明的是,上述计算机可读存储介质可以是只读存储器(read only memory,rom)、可编程只读存储器(programmable read-only memory,prom)、可擦除可编程只读存储器(erasable programmable read-only memory,eprom)、电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁性随机存取存储器(ferromagnetic random access memory,fram)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(compact disc read-only memory,cd-rom)等存储器;也可以是包括上述存储器之一或任意组合的各种电子设备,如移动电话、计算机、平板设备、个人数字助理等。
114.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
115.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
116.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本技术各个实施例所描述的方法。
117.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
118.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
119.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
120.以上仅为本技术的优选实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1