一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

双活负载均衡的方法及装置、电子设备和存储介质与流程

2022-02-22 18:11:13 来源:中国专利 TAG:


1.本发明是关于计算机领域,特别是关于一种双活负载均衡的方法及装置、电子设备和存储介质。


背景技术:

2.负载均衡(load balance)就是分摊到多个操作单元上进行执行,例如web服务器、ftp服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
3.负载均衡构建在原有网络结构之上,它提供了一种透明且廉价有效的方法扩展服务器和网络设备的带宽、加强网络数据处理能力、增加吞吐量、提高网络的可用性和灵活性。
4.公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。


技术实现要素:

5.本发明的目的在于提供一种双活负载均衡的方法及装置、电子设备和存储介质,其能够通过在负载均衡器上部署相同的vip,以及增加arp-proxy模块,实现多个负载均衡器同时工作并互作备份,提高负载均衡器的资源利用率。
6.为实现上述目的,本发明的实施例提供了一种双活负载均衡的方法。
7.在本发明的一个或多个实施方式中,所述方法包括:主负载均衡器和备份负载均衡器同时配置vip和arp-proxy模块;判断客户端和所述vip是否在同一子网;若是,与客户端发送的第一arp广播报文相匹配的负载均衡器接收服务请求;若否,所述主负载均衡器和所述备份负载均衡器接收网关转发的服务请求。
8.在本发明的一个或多个实施方式中,所述与客户端发送的第一arp广播报文相匹配的负载均衡器接收服务请求,包括:arp-proxy模块根据所述第一arp广播报文获取所述主负载均衡器或所述备份负载均衡器的mac地址;以及所述客户端根据所述mac地址将服务请求发送至对应的负载均衡器,所述负载均衡器将所述服务发送至服务器。
9.在本发明的一个或多个实施方式中,所述arp-proxy模块根据所述第一arp广播报文获取所述主负载均衡器和所述备份负载均衡器的mac地址,包括:所述主负载均衡器和所述备份负载均衡器的arp-proxy模块接收客户端发送的第一arp广播报文;所述主负载均衡器和所述备份负载均衡器的arp-proxy模块根据所述客户端的ip地址进行相同的hash计算;若hash值是0,根据所述主负载均衡器的mac地址回复所述第一arp广播报文的请求;以及若hash值是1,根据所述备份负载均衡器的mac地址回复所述第一arp广播报文的请求。
10.在本发明的一个或多个实施方式中,所述方法还包括:当主备负载均衡器有一个发生故障时,另一个未故障的负载均衡器接收客户端发送的第二arp广播报文;所述未故障的负载均衡器根据所述第二arp广播报文请求自身的vip的mac地址,并接收服务请求;以及所述未故障的负载均衡器的arp-proxy模块停止hash计算,并回复所有客户端对所述vip的
arp请求。
11.在本发明的一个或多个实施方式中,所述并接收服务请求,包括:所述客户端根据第二arp广播报文中请求的vip的mac地址更新自身的arp缓存表,以及所述未故障负载均衡器接收客户端全部服务请求。
12.在本发明的一个或多个实施方式中,所述方法还包括:当所述故障负载均衡器故障恢复时,所述主负载均衡器和所述备份负载均衡器的arp-proxy模块重新进行hash计算。
13.在本发明的一个或多个实施方式中,所述主负载均衡器和所述备份负载均衡器接收网关转发的服务请求前,还包括:通过所述网关配置静态路由,并根据所述等价静态路由检测所述主负载均衡器和所述备份负载均衡器的健康状态。
14.在本发明的一个或多个实施方式中,所述方法还包括:在所述主负载均衡器或所述备份负载均衡器故障时,通过所述网关进行故障检测和负载均衡器切换。
15.在本发明的另一个方面当中,提供了一种双活负载均衡的装置,其包括部署模块、判断模块和接收模块。
16.部署模块,用于供主负载均衡器和备份负载均衡器同时配置vip和arp-proxy模块。
17.判断模块,用于判断客户端和所述vip是否在同一子网。
18.接收模块,用于与客户端发送的第一arp广播报文相匹配的负载均衡器接收服务请求;或,所述主负载均衡器和所述备份负载均衡器接收网关转发的服务请求。
19.在本发明的一个或多个实施方式中,所述接收模块还用于:arp-proxy模块根据所述第一arp广播报文获取所述主负载均衡器或所述备份负载均衡器的mac地址;以及所述客户端根据所述mac地址将服务请求发送至对应的负载均衡器,所述负载均衡器将所述服务发送至服务器。
20.在本发明的一个或多个实施方式中,所述接收模块还用于:所述主负载均衡器和所述备份负载均衡器的arp-proxy模块接收客户端发送的第一arp广播报文;所述主负载均衡器和所述备份负载均衡器的arp-proxy模块根据所述客户端的ip地址进行相同的hash计算;若hash值是0,根据所述主负载均衡器的mac地址回复所述第一arp广播报文的请求;以及若hash值是1,根据所述备份负载均衡器的mac地址回复所述第一arp广播报文的请求。
21.在本发明的一个或多个实施方式中,所述接收模块还用于:当主备负载均衡器有一个发生故障时,另一个未故障的负载均衡器接收客户端发送的第二arp广播报文;所述未故障的负载均衡器根据所述第二arp广播报文请求自身的vip的mac地址,并接收服务请求;以及所述未故障的负载均衡器的arp-proxy模块停止hash计算,并回复所有客户端对所述vip的arp请求。
22.在本发明的一个或多个实施方式中,所述接收模块还用于:所述客户端根据第二arp广播报文中请求的vip的mac地址更新自身的arp缓存表,以及所述备份负载均衡器接收客户端全部服务请求。
23.在本发明的一个或多个实施方式中,所述接收模块还用于:当所述主负载均衡器故障恢复时,所述主负载均衡器和所述备份负载均衡器的arp-proxy模块重新进行hash计算。
24.在本发明的一个或多个实施方式中,所述判断模块还用于:通过所述网关配置静
态路由,并根据所述等价静态路由检测所述主负载均衡器和所述备份负载均衡器的健康状态。
25.在本发明的一个或多个实施方式中,所述接收模块还用于:在所述主负载均衡器或所述备份负载均衡器故障时,通过所述网关进行故障检测和负载均衡器切换。
26.在本发明的另一个方面当中,提供了一种电子设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的双活负载均衡的方法。
27.在本发明的另一个方面当中,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如所述的双活负载均衡的方法的步骤。
28.与现有技术相比,根据本发明实施方式的双活负载均衡的方法及装置、电子设备和存储介质,其能够通过在主负载均衡器和备份负载均衡器上部署相同的vip,以及增加arp-proxy模块,实现双活负载均衡,根据客户端的需求选择合适的负载均衡器转发服务至对应的服务器,实现主负载均衡器和备份负载均衡器同时工作,提高负载均衡器的资源利用率。
附图说明
29.图1是根据本发明一实施方式的双活负载均衡的方法的流程图;
30.图2是根据本发明一实施方式的双活负载均衡的方法的结构图;
31.图3是根据本发明一实施方式的双活负载均衡的方法的故障恢复流程图;
32.图4是根据本发明一实施方式的双活负载均衡的方法的网关流程图;
33.图5是根据本发明一实施方式的双活负载均衡的方法的网关结构图;
34.图6是根据本发明一实施方式的双活负载均衡的装置的结构图;
35.图7是根据本发明一实施方式的双活负载均衡的计算设备的硬件结构图。
具体实施方式
36.下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
37.除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
38.以下结合附图,详细说明本发明各实施例提供的技术方案。
39.实施例1
40.如图1至图2所示,介绍本发明的一个实施例中双活负载均衡的方法,该方法包括如下步骤。
41.在步骤s101中,主负载均衡器和备份负载均衡器同时配置vip和arp-proxy模块。
42.在现有技术中,vip只会部署在一个负载均衡器上,而在本实施例中,由于vip是客户端用来访问服务器的代理地址,将vip同时配置在主负载均衡器和备份负载均衡器上面,主负载均衡器和备份负载均衡器都可以用来供客户端访问服务器。
43.新增arp-proxy模块,代理arp的原理就是当出现跨网段的arp请求时,负载均衡器将自身的mac地址返回给发送arp广播报文请求的发送者,实现mac地址代理,最终使得主机能够通信。
44.在步骤s102中,判断客户端和vip是否在同一子网。
45.在客户端和vip在同一子网时,主机上没有配置默认的网关地址,通过客户端发送arp广播报文(请求目的主机的mac地址),使具备arp-proxy功能的负载均衡器收到请求后,在确认请求地址可达后,可以使用自身的mac地址作为该arp请求的回应,使得处于不同物理网络的同一网段的主机之间可以正常通信。
46.在客户端和vip不在同一子网时,主机上配置有默认的网关地址,实现通信,因此无需arp-proxy模块工作,通过网关即可将服务请求发送至对应的负载均衡器,并由对应的负载均衡器转发服务至服务器。
47.在步骤s103中,与客户端发送的第一arp广播报文相匹配的负载均衡器接收服务请求。
48.客户端发送第一arp广播报文,用来请求vip的mac地址,主负载均衡器和备份负载均衡器都会收到第一arp广播报文,该第一arp广播报文被发送至arp-proxy模块,以选择提供服务的负载均衡器。
49.主负载均衡器和备份负载均衡器的arp-proxy模块根据第一arp广播报文里的客户端的ip地址进行相同的hash值计算,hash值可以是0或1。若hash值是0,根据主负载均衡器的mac地址回复第一arp广播报文的请求;若hash值是1,根据备份负载均衡器的mac地址回复第一arp广播报文的请求。由于主负载均衡器和备份负载均衡器使用相同的hash算法(不会引入随机参数),所以计算的hash值结果一致。
50.当客户端收到vip发送的第一arp广播报文回复时,根据第一arp广播报文中发送者(即负载均衡器)的mac地址,把服务请求发送至回复第一arp广播报文的主负载均衡器或备份负载均衡器,主负载均衡器或备份负载均衡器将服务请求发送至服务器。
51.实施例2
52.如图3所示,介绍本发明的又一个实施例中双活负载均衡的方法,该方法包括如下步骤。
53.在步骤s201中,主负载均衡器和备份负载均衡器同时配置vip和arp-proxy模块。
54.在主负载均衡器和备份负载均衡器上同时配置相同的vip和arp-proxy模块,可以供客户端根据不同的业务需求,选择不同的负载均衡器,在面对多客户端发送服务请求时,主负载均衡器和备份负载均衡器可以同时工作转发服务至对应的服务器。
55.在步骤s202中,判断客户端和vip是否在同一子网。
56.在客户端和vip在同一子网时,主机上没有配置默认的网关地址,通过客户端发送arp广播报文(请求目的主机的mac地址),使具备arp-proxy功能的负载均衡器收到请求后,在确认请求地址可达后,可以使用自身的mac地址作为该arp请求的回应,使得处于不同物理网络的同一网段的主机之间可以正常通信。
57.在客户端和vip不在同一子网时,主机上配置有默认的网关地址,实现通信,因此无需arp-proxy模块工作,通过网关即可将服务请求发送至对应的负载均衡器,并由对应的负载均衡器转发服务至服务器。
58.在步骤s203中,arp-proxy模块根据第一arp广播报文获取vip的mac地址。
59.主负载均衡器和备份负载均衡器的arp-proxy模块接收客户端发送的第一arp广播报文。
60.主负载均衡器和备份负载均衡器的arp-proxy模块根据客户端的ip地址进行相同的hash计算;若hash值是0,根据主负载均衡器的mac地址回复第一arp广播报文的请求;若hash值是1,根据备份负载均衡器的mac地址回复第一arp广播报文的请求。
61.在步骤s204中,根据mac地址将服务请求发送至对应的负载均衡器,负载均衡器将服务发送至服务器。
62.根据第一arp广播报文中负载均衡器的mac地址,把服务请求发送至对应的负载均衡器,对应的负载均衡器将服务请求发送至服务器。
63.在步骤s205中,当主负载均衡器故障时,备份负载均衡器接收客户端发送的第二arp广播报文。
64.当主负载均衡器和备份负载均衡器之间的心跳线断开,检测到主负载均衡器或备份负载均衡器发生故障。
65.在本实施例中,当主负载均衡器发生故障时,备份负载均衡器检测到心跳线断开,备份负载均衡器会针对vip发送第二arp广播报文,该第二arp广播报文是备份负载均衡器用来请求自身vip地址的mac地址。
66.客户端根据第二arp广播报文中请求的vip的mac地址更新自身的arp缓存表,并将服务请求全部发送至备份负载均衡器。同时备份负载均衡器的arp-proxy模块停止hash计算,并回复所有客户端对vip的arp请求。
67.在步骤s206中,当主负载均衡器故障恢复时,主负载均衡器和备份负载均衡器的arp-proxy模块重新进行hash计算。
68.在本实施例中,当主负载均衡器的故障恢复时,主负载均衡器和备份负载均衡器之间的心跳线恢复正常,主负载均衡器和备份负载均衡器重新根据客户端发来的arp广播报文进行hash计算,选择对应的负载均衡器将服务请求发送至服务器。
69.同样的,在步骤s205中,当备份负载均衡器故障时,主负载均衡器接收客户端发送的第二arp广播报文。
70.当备份负载均衡器发生故障时,主负载均衡器检测到心跳线断开,主负载均衡器会针对vip发送第二arp广播报文,该第二arp广播报文是主负载均衡器用来请求自身vip地址的mac地址。
71.客户端根据第二arp广播报文中请求的vip的mac地址更新自身的arp缓存表,并将服务请求全部发送至主负载均衡器。同时主负载均衡器的arp-proxy模块停止hash计算,并回复所有客户端对vip的arp请求。
72.在步骤s206中,当主负载均衡器故障恢复时,主负载均衡器和备份负载均衡器的arp-proxy模块重新进行hash计算。
73.在本实施例中,当主负载均衡器的故障恢复时,主负载均衡器和备份负载均衡器之间的心跳线恢复正常,主负载均衡器和备份负载均衡器重新根据客户端发来的arp广播报文进行hash计算,选择对应的负载均衡器将服务请求发送至服务器。
74.同样的,在步骤s206中,当是发生故障的备份负载均衡器故障恢复时,主负载均衡
器和备份负载均衡器之间的心跳线恢复正常,主负载均衡器和备份负载均衡器重新根据客户端发来的arp广播报文进行hash计算,选择对应的负载均衡器将服务请求发送至服务器。
75.由此可以看出,在本实施方式中,对于双活的主备负载均衡器,无论其中哪一个发生故障,均不会影响整体业务的进行,系统会自动将业务发送到未故障的负载均衡器之上,同时停止hash计算,当故障恢复之后,主备负载均衡器恢复到开始的状态,通过hash计算来均衡分配业务,达到一个整体平衡的运行状态,提升了资源的利用率以及整体的可靠性。
76.实施例3
77.如图4至图5所示,介绍本发明的又一个实施例中双活负载均衡的方法,该方法包括如下步骤。
78.在步骤s301中,主负载均衡器和备份负载均衡器同时配置vip和arp-proxy模块。
79.在主负载均衡器和备份负载均衡器上同时配置相同的vip,可以供网关均匀的将客户端的服务请求发送至主负载均衡器和备份负载均衡器,实现双负载均衡器同时工作,提高负载均衡器的资源利用率。
80.在步骤s302中,判断客户端和vip是否在同一子网。
81.在客户端和vip在同一子网时,主机上没有配置默认的网关地址,通过客户端发送arp广播报文(请求目的主机的mac地址),使具备arp-proxy功能的负载均衡器收到请求后,在确认请求地址可达后,可以使用自身的mac地址作为该arp请求的回应,使得处于不同物理网络的同一网段的主机之间可以正常通信。
82.在客户端和vip不在同一子网时,主机上配置有默认的网关地址,实现通信,因此无需arp-proxy模块工作,通过网关即可将服务请求发送至对应的负载均衡器,并由对应的负载均衡器转发服务至服务器。
83.在步骤s303中,主负载均衡器和备份负载均衡器接收网关转发的服务请求。
84.当客户端需要访问服务器时,如果客户端和vip不在同一个子网内,此时客户端发送的请求流量首先发送至网关,在网关上配置静态ecmp路由,举例来说,route vip(1.1.1.1/32)nextthop ip1和route vip(1.1.1.1/32)nextthop ip2。同时根据静态ecmp路由检测主负载均衡器和备份负载均衡器的健康状态,网关可以均匀的将客户端的服务请求发送至主负载均衡器和备份负载均衡器,实现双负载均衡器同时工作,提高负载均衡器的资源利用率。
85.在步骤s304中,在主负载均衡器或备份负载均衡器故障时,通过网关进行故障检测和负载均衡器切换。
86.在主负载均衡器或备份负载均衡器故障时,网关可以根据静态ecmp路由检测到主负载均衡器或备份负载均衡器故障,并将该故障的负载均衡器上的服务请求切换至正常工作的负载均衡器。
87.在本实施例中,由于主负载均衡器和备份负载均衡器之间存在心跳线检测,并且主负载均衡器和备份负载均衡器具有相同的vip,当主负载均衡器出现故障宕机的时候,备份负载均衡器可以直接接管主负载均衡器的工作,对外提供服务。
88.如图6所示,介绍根据本发明具体实施方式的双活负载均衡的装置。
89.在本发明的实施方式中,双活负载均衡的装置包括部署模块601、判断模块602和接收模块603。
90.部署模块601,用于供主负载均衡器和备份负载均衡器同时配置vip和arp-proxy模块。
91.判断模块602,用于判断客户端和vip是否在同一子网。
92.接收模块603,用于与客户端发送的第一arp广播报文相匹配的负载均衡器接收服务请求;或,主负载均衡器和备份负载均衡器接收网关转发的服务请求。
93.接收模块603还用于:arp-proxy模块根据第一arp广播报文获取主负载均衡器或备份负载均衡器的mac地址;以及客户端根据mac地址将服务请求发送至对应的负载均衡器,负载均衡器将服务发送至服务器。
94.接收模块603还用于:主负载均衡器和备份负载均衡器的arp-proxy模块接收客户端发送的第一arp广播报文;主负载均衡器和备份负载均衡器的arp-proxy模块根据客户端的ip地址进行相同的hash计算;若hash值是0,根据主负载均衡器的mac地址回复第一arp广播报文的请求;以及若hash值是1,根据备份负载均衡器的mac地址回复第一arp广播报文的请求。
95.接收模块603还用于:当主备负载均衡器有一个发生故障时,另一个未故障的负载均衡器接收客户端发送的第二arp广播报文;未故障的负载均衡器根据第二arp广播报文请求自身的vip的mac地址,并接收服务请求;以及未故障的负载均衡器的arp-proxy模块停止hash计算,并回复所有客户端对vip的arp请求。
96.接收模块603还用于:客户端根据第二arp广播报文中请求的vip的mac地址更新自身的arp缓存表,以及备份负载均衡器接收客户端全部服务请求。
97.接收模块603还用于:当主负载均衡器故障恢复时,主负载均衡器和备份负载均衡器的arp-proxy模块重新进行hash计算。
98.判断模块602还用于:通过网关配置静态路由,并根据等价静态路由检测主负载均衡器和备份负载均衡器的健康状态。
99.接收模块603还用于:在主负载均衡器或备份负载均衡器故障时,通过网关进行故障检测和负载均衡器切换。
100.图7示出了根据本说明书的实施例的用于双活负载均衡的计算设备70的硬件结构图。如图7所示,计算设备70可以包括至少一个处理器701、存储器702(例如非易失性存储器)、内存703和通信接口704,并且至少一个处理器701、存储器702、内存703和通信接口704经由总线705连接在一起。至少一个处理器701执行在存储器702中存储或编码的至少一个计算机可读指令。
101.应该理解,在存储器702中存储的计算机可执行指令当执行时使得至少一个处理器701进行本说明书的各个实施例中以上结合图1-7描述的各种操作和功能。
102.在本说明书的实施例中,计算设备70可以包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电话、平板计算机、蜂窝电话、个人数字助理(pda)、手持装置、消息收发设备、可佩戴计算设备、消费电子设备等等。
103.根据一个实施例,提供了一种比如机器可读介质的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-7描述的各种操作和功能。具体地,可以提供配有可读存储
介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
104.根据本发明实施方式的双活负载均衡的方法及装置、电子设备和存储介质,其能够通过在主负载均衡器和备份负载均衡器上部署相同的vip,以及增加arp-proxy模块,实现双活负载均衡,根据客户端的需求选择合适的负载均衡器转发服务至对应的服务器,实现主负载均衡器和备份负载均衡器同时工作,提高负载均衡器的资源利用率。
105.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
106.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
107.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
108.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
109.前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献