CN114513465B - 负载均衡方法、负载均衡装置、电子设备和存储介质 - Google Patents
负载均衡方法、负载均衡装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN114513465B CN114513465B CN202210139507.XA CN202210139507A CN114513465B CN 114513465 B CN114513465 B CN 114513465B CN 202210139507 A CN202210139507 A CN 202210139507A CN 114513465 B CN114513465 B CN 114513465B
- Authority
- CN
- China
- Prior art keywords
- security group
- target
- group rule
- load balancing
- connection request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 230000004044 response Effects 0.000 claims description 30
- 230000005540 biological transmission Effects 0.000 claims description 21
- 230000015654 memory Effects 0.000 claims description 20
- 230000003044 adaptive effect Effects 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 description 24
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 108010001267 Protein Subunits Proteins 0.000 description 2
- 238000009472 formulation Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000013479 data entry Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本公开提供了一种负载均衡方法,可以应用于云计算技术领域。该方法包括:获取来自目标客户端设备的连接请求,其中,连接请求中携带有地址信息;基于地址信息,从多条安全组规则中确定第一目标安全组规则;在第一目标安全组规则中配置的安全策略为接受的情况下,从服务端设备集群中确定目标服务端设备;以及将连接请求发送至目标服务端设备。此外,本公开还提供了一种负载均衡装置、一种电子设备和一种可读存储介质。
Description
技术领域
本公开涉及云计算技术领域,更具体地,涉及一种负载均衡方法、一种负载均衡装置、一种电子设备、一种可读存储介质和一种计算机程序产品。
背景技术
在云计算服务中,负载均衡是高可用网络基础架构的关键组件,通常用于将工作负载分布到多个服务器,以提高网站、应用、数据库或其他服务的性能和可靠性。
在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:相关技术中负载均衡的实现需要存储连接信息,在访问流量较大时存储的连接信息会占用大量内存,导致负载均衡效率降低。
发明内容
有鉴于此,本公开提供了一种负载均衡方法、一种负载均衡装置、一种电子设备、一种可读存储介质和一种计算机程序产品。
本公开的一个方面提供了一种负载均衡方法,包括:获取来自目标客户端设备的连接请求,其中,上述连接请求中携带有地址信息;基于上述地址信息,从多条安全组规则中确定第一目标安全组规则;在上述第一目标安全组规则中配置的安全策略为接受的情况下,从服务端设备集群中确定目标服务端设备;以及将上述连接请求发送至上述目标服务端设备。
根据本公开的实施例,上述安全组规则中还配置有传输方向和适配地址范围,上述传输方向包括出方向和入方向;其中,上述基于上述地址信息,从多条安全组规则中确定第一目标安全组规则,包括:从多条上述安全组规则中选择配置的传输方向为入方向的安全组规则,得到至少一条入方向安全组规则;对于每条上述入方向安全组规则,将上述目标客户端设备的地址信息与上述入方向安全组规则的适配地址范围进行匹配;以及在匹配结果表示上述目标客户端设备的地址信息在上述入方向安全组规则的适配地址范围内的情况下,确定上述入方向安全组规则为上述第一目标安全组规则。
根据本公开的实施例,上述连接请求中还携带有应用层内容;其中,上述从服务端设备集群中确定目标服务端设备,包括:根据上述连接请求中携带的应用层内容,确定目标应用场景;从上述服务端设备集群中获取上述目标应用场景下的至少一个服务端设备;以及基于预设负载均衡算法,从至少一个上述服务端设备中确定上述目标服务端设备。
根据本公开的实施例,上述预设负载均衡算法包括以下算法中的任意一项:随机算法、轮询、加权轮询、哈希算法、IP地址散列和URL散列。
根据本公开的实施例,上述方法还包括:在将上述连接请求发送至上述目标服务端设备之前,将上述连接请求中携带的地址信息修改为上述目标服务端设备的地址信息。
根据本公开的实施例,上述方法还包括:在上述第一目标安全组规则中配置的安全策略为拒绝的情况下,向上述目标客户端设备发送拒绝连接的反馈信息。
根据本公开的实施例,上述方法还包括:获取来自上述目标服务端设备的响应请求,其中,上述响应请求包括上述目标服务端设备针对上述连接请求生成的;基于上述目标服务端设备的地址信息,从多条上述安全组规则中确定第二目标安全组规则;以及在上述第二目标安全组规则中配置的安全策略为接受的情况下,将上述响应请求发送至上述目标客户端设备。
本公开的另一个方面提供了一种负载均衡装置,包括:第一获取模块,用于获取来自目标客户端设备的连接请求,其中,上述连接请求中携带有地址信息;第一确定模块,用于基于上述地址信息,从多条安全组规则中确定第一目标安全组规则;第二确定模块,用于在上述第一目标安全组规则中配置的安全策略为接受的情况下,从服务端设备集群中确定目标服务端设备;以及第一发送模块,用于将上述连接请求发送至上述目标服务端设备。
本公开的另一方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个指令,其中,当所述一个或多个指令被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
根据本公开的实施例,对于来自目标客户端设备的连接请求,可以从多条安全组规则中确定相匹配的第一目标安全组规则,之后,在该第一目标安全组规则中配置的安全策略为接受的情况下,选择目标服务端设备,并将连接请求发送到目标服务端设备。通过上述技术手段,利用安全组规则实现了负载均衡的请求过程,不需要对连接信息进行存储,所以至少部分地克服了相关技术中存在的在访问流量较大时存储的连接信息会占用大量内存,导致负载均衡效率降低的技术问题,从而有效降低了负载均衡服务器的内存消耗,提高了对高并发、低延迟场景的适用程度。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的可以应用负载均衡方法的示例性系统架构。
图2示意性示出了根据本公开实施例的负载均衡方法中的请求过程的流程图。
图3示意性示出了根据本公开实施例的用于确定第一目标安全组规则的方法的流程图。
图4示意性示出了根据本公开实施例的负载均衡方法中的响应过程的流程图。
图5示意性示出了根据本公开实施例的负载均衡系统的示意图。
图6示意性示出了根据本公开的实施例的负载均衡装置的框图。
图7示意性示出了根据本公开实施例的适于实现负载均衡方法的电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
在云计算服务中,负载均衡是高可用网络基础架构的关键组件,通常用于将工作负载分布到多个服务器来提高网站、应用、数据库或其他服务的性能和可靠性。负载均衡会绑定一个虚IP,客户端通过虚IP访问到负载均衡,负载均衡再把流量转发给后端服务。
在相关技术中,负载均衡的出流量和入流量的控制是通过OVS的Conntrack组件来实现的,当访问流量很多或者qps很高时,OVS需要存储大量的有状态的连接信息,耗费大量内存,使得负载均衡的性能受限。
有鉴于此,本公开的实施例基于负载均衡的作为服务端,仅接受客户端的请求,不会主动发起请求的特征,通过使用安全组规则来实现出流量和入流量的控制,从而可以不存储连接信息,解决由于OVS存储过多连接信息导致的性能问题。
具体地,本公开的实施例提供了一种负载均衡方法、一种负载均衡装置、一种电子设备、一种可读存储介质和一种计算机程序产品。该方法包括请求过程和响应过程,其中,请求过程包括:获取来自目标客户端设备的连接请求,其中,连接请求中携带有地址信息;基于地址信息,从多条安全组规则中确定第一目标安全组规则;在第一目标安全组规则中配置的安全策略为接受的情况下,从服务端设备集群中确定目标服务端设备;以及将连接请求发送至目标服务端设备。
图1示意性示出了根据本公开实施例的可以应用负载均衡方法的示例性系统架构。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,负载均衡服务器104和服务器集群105。
终端设备101、102、103可以是任意类型的电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等。终端设备101、102、103上可以安装有各种客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端和/或社交平台软件等。
负载均衡服务器104可以是任意类型的负载均衡服务器,包括但不限于DNS域名解析负载均衡、数据链路层负载均衡、IP负载均衡、HTTP重定向负载均衡、反向代理负载均衡等。负载均衡服务器104用以通过转发或代理的方式,实现终端设备101、102、103与服务器集群105之间的信息交互。
服务器集群105可以为用户提供各种服务,包括但不限于云计算服务等。用户可以通过终端设备101、102、103上安装的客户端应用使用服务器集群105提供的服务。
需要说明的是,本公开实施例所提供的负载均衡方法一般可以由负载均衡服务器104执行。相应地,本公开实施例所提供的负载均衡装置一般可以设置于负载均衡服务器104中。本公开实施例所提供的负载均衡方法也可以由不同于负载均衡服务器104且能够与终端设备101、102、103和/或服务器集群105通信的负载均衡服务器或负载均衡服务器集群执行。相应地,本公开实施例所提供的负载均衡装置也可以设置于不同于负载均衡服务器104且能够与终端设备101、102、103和/或服务器集群105通信的负载均衡服务器或负载均衡服务器集群中。
应该理解,图1中的终端设备、负载均衡服务器和服务器集群的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、负载均衡服务器和服务器集群。
图2示意性示出了根据本公开实施例的负载均衡方法中的请求过程的流程图。
如图2所示,该请求过程包括操作S201~S204。
在操作S201,获取来自目标客户端设备的连接请求,其中,连接请求中携带有地址信息。
在操作S202,基于地址信息,从多条安全组规则中确定第一目标安全组规则。
在操作S203,在第一目标安全组规则中配置的安全策略为接受的情况下,从服务端设备集群中确定目标服务端设备。
在操作S204,将连接请求发送至目标服务端设备。
根据本公开的实施例,目标客户端设备可以是云计算服务中的租户所属的电子设备。
根据本公开的实施例,连接请求可以是一个数据包,也可以是基于通信协议的报文,在此不作限定。
根据本公开的实施例,连接请求中携带的地址信息可以是目标客户端设备的IP地址。
在一些实施例中,连接请求中还可以携带有通信协议信息、端口信息、业务类型等内容,以便于负载均衡服务器进行服务端设备的分配。
根据本公开的实施例,负载均衡服务器可以向各个客户端设备提供一个虚IP或者域名,通过该虚IP或者域名,各个客户端设备可以向负载均衡服务器发送连接请求。
根据本公开的实施例,负载均衡服务器可以基于任意种类的负载均衡技术来实现,包括但不限于二层负载均衡、四层负载均衡、七层负载均衡等。
根据本公开的实施例,每条安全组规则可以配置有传输方向、协议类型、适配地址范围、目的端口、安全策略等多维度的信息。
根据本公开的实施例,可以将地址信息与安全组规则中包含的适配地址范围进行匹配,以从多条安全组规则中确定第一目标安全组规则。
根据本公开的实施例,服务端设备集群可以包括提供云计算范围的所有服务器。
根据本公开的实施例,可以采用任意动态或静态负载均衡算法来确定接收该连接请求的目标服务端设备。
根据本公开的实施例,对于来自目标客户端设备的连接请求,可以从多条安全组规则中确定相匹配的第一目标安全组规则,之后,在该第一目标安全组规则中配置的安全策略为接受的情况下,选择目标服务端设备,并将连接请求发送到目标服务端设备。通过上述技术手段,利用安全组规则实现了负载均衡的请求过程,不需要对连接信息进行存储,所以至少部分地克服了相关技术中存在的在访问流量较大时存储的连接信息会占用大量内存,导致负载均衡效率降低的技术问题,从而有效降低了负载均衡服务器的内存消耗,提高了对高并发、低延迟场景的适用程度。
下面参考图3~图5结合具体实施例对图2所示的方法做进一步说明。
图3示意性示出了根据本公开实施例的用于确定第一目标安全组规则的方法的流程图。
如图3所示,该方法包括操作S301~S303。
在操作S301,从多条安全组规则中选择配置的传输方向为入方向的安全组规则,得到至少一条入方向安全组规则。
在操作S302,对于每条入方向安全组规则,将目标客户端设备的地址信息与入方向安全组规则的适配地址范围进行匹配。
在操作S303,在匹配结果表示目标客户端设备的地址信息在入方向安全组规则的适配地址范围内的情况下,确定入方向安全组规则为第一目标安全组规则。
根据本公开的实施例,每条安全组规则可以配置有传输方向、协议类型、适配地址范围、目的端口、安全策略等。其中,传输方向可以包括入方向和出方向,入方向表示数据流向为从客户端设备到服务端设备,出方向表示数据流向为从服务端设备到客户端设备;协议类型可以表示该安全组规则允许通过基于设定的通信协议的数据包,协议类型可以与目的端口相对应;适配地址范围可以用来表示该安全组规则允许通过的数据包的IP地址范围;安全策略可以包括接受和拒绝,其中,安全策略配置为接受时表示该安全组规则正常启用,安全策略配置为拒绝时表示该安全组规则不启用,此时,可以拒绝使用该安全组规则的连接请求。
例如,安全组规则可以如表1所示,其中,序号为1的安全组规则用于对基于的协议的类型为TCP的连接请求进行处理,在该连接请求的发起客户端设备的地址在192.168.0.0~192.168.0.255之间,且目的端口为80的情况下,该连接请求可以通过该安全组规则的验证,均衡负载服务器可以将该连接请求转达至服务端设备;序号为2的安全组规则用于对基于的协议的类型为IP的响应请求进行处理,允许均衡负载服务器将任意IP地址下的服务端设备的响应请求转达至客户端设备。
表1
序号 | 传输方向 | 协议类型 | 适配地址范围 | 目的端口 | 安全策略 |
1 | 入方向 | TCP | 192.168.0.0/24 | 80 | 接受 |
2 | 出方向 | IP | 0.0.0.0/0 | 1-65535 | 接受 |
在一些实施例中,确定得到的第一目标安全组规则可以有多个,此时,多个第一目标安全组规则中的任意一个配置的安全策略为接受时,则可以认为该连接请求通过安全组规则的验证。
根据本公开的实施例,在所有第一目标安全组规则中配置的安全策略均为拒绝的情况下,负载均衡服务器可以向目标客户端设备发送拒绝连接的反馈信息。
图4示意性示出了根据本公开实施例的负载均衡方法中的响应过程的流程图。
如图4所示,该响应过程包括操作S401~S403。
在操作S401,获取来自目标服务端设备的响应请求。
在操作S402,基于目标服务端设备的地址信息,从多条安全组规则中确定第二目标安全组规则。
在操作S403,在第二目标安全组规则中配置的安全策略为接受的情况下,将响应请求发送至目标客户端设备。
根据本公开的实施例,目标服务端设备可以是接收到连接请求的服务器,相应地,该响应请求可以是目标服务端设备响应于接收到的连接请求而生成的。
根据本公开的实施例,响应请求中可以携带有地址信息,该地址信息可以是目标服务端设备的IP地址。
根据本公开的实施例,从多条安全组规则中确定第二目标安全组规则可以采用与操作S202相同或相似的方法,在此不再赘述。
根据本公开的实施例,通过使用安全组规则实现出流量和入流量的控制,在控制出流量时,不需要再对OVS中存储的连接信息进行访问,因而在新连接接入时也不需要再记录该新连接的连接信息,因此,有效降低了OVS存储连接跟踪导致的内存消耗。
图5示意性示出了根据本公开实施例的负载均衡系统的示意图。
如图5所示,在负载均衡系统中,客户端设备510和3个服务端设备530均可表示为具有固定IP地址的虚拟机。其中,客户端设备510的IP地址设置为192.168.0.2,3个服务端设备530的IP地址分别设置为192.168.0.6、192.168.0.7和192.168.0.8。
根据本公开的实施例,该负载均衡系统包括客户端设备510通过负载均衡服务器520向服务端设备530发送连接请求的请求过程,和服务端设备530通过负载均衡服务器520向客户端设备510发送响应请求的响应过程。
在请求过程中:
首先,客户端设备510可以通过虚IP访问2个负载均衡服务器520中的任意一个,并向该负载均衡服务器520发送连接请求。该虚IP例如可以设置为192.168.0.3,该虚IP可以是2个负载均衡服务器520的共同数据入口。
然后,接收到该连接请求的负载均衡服务器520调用安全组规则对该连接请求进行匹配和验证。
根据本公开的实施例,负载均衡服务器520中可以包括OVS组件521和NGINX组件522。其中,OVS组件521用于调用安全组规则对接收到的连接请求或响应请求进行验证;NGINX组件522用于在验证通过后,对连接请求或响应请求进行代理。
在一些实施例中,NGINX组件522可以作为一个独立的代理服务器存在,其可以配置有相应的IP地址,例如可以配置为192.168.0.4和192.168.0.1。
之后,在通过验证的情况下,负载均衡服务器520可以选择接受该连接请求的服务端设备530,并将该连接请求发送至该服务端设备530。
根据本公开的实施例,从3个服务端设备530中确定目标服务端设备的方法可以包括:根据连接请求中携带的应用层内容,确定目标应用场景;从服务端设备集群中获取目标应用场景下的至少一个服务端设备;以及基于预设负载均衡算法,从至少一个服务端设备中确定目标服务端设备。
根据本公开的实施例,预设负载均衡算法可以是任意类型的负载均衡算法,包括但不限于随机算法、轮询、加权轮询、最小连接、加权最小连接、哈希算法、IP地址散列、URL散列等。
例如,轮询方法可以是将连接请求按顺序依次发送给每一台服务端设备;最小连接可以是将连接请求分配给处理连接数最少的服务端设备;URL散列可以将发送至相同URL的请求转发至同一服务器。
根据本公开的实施例,在将连接请求发送至服务端设备520之前,NGINX组件522还可以对连接请求中携带的地址信息进行修改,将该连接请求原本包含的客户端设备510的IP地址修改为服务端设备520的IP地址,以便于完成连接请求的代理操作。
在响应过程中:
首先,服务端设备530可以通过虚IP访问2个负载均衡服务器520中的任意一个,并向该负载均衡服务器520发送响应请求。
然后,接收到该连接请求的负载均衡服务器520调用安全组规则对该响应请求进行验证。
之后,在通过验证的情况下,负载均衡服务器520可以选将该响应请求发送至客户端设备510。
在一些实施例中,服务端设备530向客户端设备510提供服务需要进行三次握手,即在三次请求过程和响应过程都顺利完成的情况下,服务端设备530才可以向客户端设备510提供服务。
图6示意性示出了根据本公开的实施例的负载均衡装置的框图。
如图6所示,负载均衡装置600包括第一获取模块610、第一确定模块620、第二确定模块630和第一发送模块640。
第一获取模块610,用于获取来自目标客户端设备的连接请求,其中,连接请求中携带有地址信息。
第一确定模块620,用于基于地址信息,从多条安全组规则中确定第一目标安全组规则。
第二确定模块630,用于在第一目标安全组规则中配置的安全策略为接受的情况下,从服务端设备集群中确定目标服务端设备。
第一发送模块640,用于将连接请求发送至目标服务端设备。
根据本公开的实施例,对于来自目标客户端设备的连接请求,可以从多条安全组规则中确定相匹配的第一目标安全组规则,之后,在该第一目标安全组规则中配置的安全策略为接受的情况下,选择目标服务端设备,并将连接请求发送到目标服务端设备。通过上述技术手段,利用安全组规则实现了负载均衡的请求过程,不需要对连接信息进行存储,所以至少部分地克服了相关技术中存在的在访问流量较大时存储的连接信息会占用大量内存,导致负载均衡效率降低的技术问题,从而有效降低了负载均衡服务器的内存消耗,提高了对高并发、低延迟场景的适用程度。
根据本公开的实施例,安全组规则中还配置有传输方向和适配地址范围,传输方向包括出方向和入方向。
根据本公开的实施例,第一确定模块620包括第一确定单元、第二确定单元和第三确定单元。
第一确定单元,用于从多条安全组规则中选择配置的传输方向为入方向的安全组规则,得到至少一条入方向安全组规则。
第二确定单元,用于对于每条入方向安全组规则,将目标客户端设备的地址信息与入方向安全组规则的适配地址范围进行匹配。
第三确定单元,用于在匹配结果表示目标客户端设备的地址信息在入方向安全组规则的适配地址范围内的情况下,确定入方向安全组规则为第一目标安全组规则。
根据本公开的实施例,连接请求中还携带有应用层内容。
根据本公开的实施例,第二确定模块630包括第四确定单元、第五确定单元和第六确定单元。
第四确定单元,用于根据连接请求中携带的应用层内容,确定目标应用场景;
第五确定单元,用于从服务端设备集群中获取目标应用场景下的至少一个服务端设备。
第六确定单元,用于基于预设负载均衡算法,从至少一个服务端设备中确定目标服务端设备。
根据本公开的实施例,预设负载均衡算法包括以下算法中的任意一项:随机算法、轮询、加权轮询、哈希算法、IP地址散列和URL散列。
根据本公开的实施例,负载均衡装置600还包括第一处理模块。
第一处理模块,用于在将连接请求发送至目标服务端设备之前,将连接请求中携带的地址信息修改为目标服务端设备的地址信息。
根据本公开的实施例,负载均衡装置600还包括第二处理模块。
第二处理模块,用于在第一目标安全组规则中配置的安全策略为拒绝的情况下,向目标客户端设备发送拒绝连接的反馈信息。
根据本公开的实施例,负载均衡装置600还包括第二获取模块、第三确定模块和第二发送模块。
第二获取模块,用于获取来自目标服务端设备的响应请求,其中,响应请求包括目标服务端设备针对连接请求生成的。
第三确定模块,用于基于目标服务端设备的地址信息,从多条安全组规则中确定第二目标安全组规则。
第二发送模块,用于在第二目标安全组规则中配置的安全策略为接受的情况下,将响应请求发送至目标客户端设备。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一获取模块610、第一确定模块620、第二确定模块630和第一发送模块640中的任意多个可以合并在一个模块/单元/子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,第一获取模块610、第一确定模块620、第二确定模块630和第一发送模块640中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一获取模块610、第一确定模块620、第二确定模块630和第一发送模块640中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
需要说明的是,本公开的实施例中负载均衡装置部分与本公开的实施例中负载均衡方法部分是相对应的,负载均衡装置部分的描述具体参考负载均衡方法部分,在此不再赘述。
图7示意性示出了根据本公开实施例的适于实现负载均衡方法的电子设备的框图。图7示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,根据本公开实施例的计算机电子设备700包括处理器701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。处理器701例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器701还可以包括用于缓存用途的板载存储器。处理器701可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 703中,存储有电子设备700操作所需的各种程序和数据。处理器701、ROM702以及RAM 703通过总线704彼此相连。处理器701通过执行ROM 702和/或RAM 703中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM702和RAM 703以外的一个或多个存储器中。处理器701也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备700还可以包括输入/输出(I/O)接口705,输入/输出(I/O)接口705也连接至总线704。电子设备700还可以包括连接至I/O接口705的以下部件中的一项或多项:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被处理器701执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 702和/或RAM 703和/或ROM 702和RAM 703以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行本公开实施例所提供的方法的程序代码,当计算机程序产品在电子设备上运行时,该程序代码用于使电子设备实现本公开实施例所提供的负载均衡方法。
在该计算机程序被处理器701执行时,执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分709被下载和安装,和/或从可拆卸介质711被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (9)
1.一种负载均衡方法,包括:
获取来自目标客户端设备的连接请求,其中,所述连接请求中携带有地址信息;
基于所述地址信息,从多条安全组规则中确定第一目标安全组规则,其中,所述安全组规则中还配置有传输方向、适配地址范围,所述传输方向包括出方向和入方向,所述适配地址范围用于表征所述安全组规则允许通过的数据包的IP地址范围;
其中,所述安全组规则中还配置有协议类型、安全策略,所述协议类型用于表征所述安全组规则允许通过基于设定的通信协议的数据包,所述协议类型与目的端口相对应;所述安全策略包括接受和拒绝,所述安全策略配置为接受时表示所述安全组规则正常启用,所述安全策略配置为拒绝时表示所述安全组规则不启用,以拒绝使用所述安全组规则的连接请求;
在所述第一目标安全组规则中配置的安全策略为接受的情况下,从服务端设备集群中确定目标服务端设备;以及
将所述连接请求发送至所述目标服务端设备;
其中,所述基于所述地址信息,从多条安全组规则中确定第一目标安全组规则,包括:
从多条所述安全组规则中选择配置的传输方向为入方向的安全组规则,得到至少一条入方向安全组规则;
对于每条所述入方向安全组规则,将所述目标客户端设备的地址信息与所述入方向安全组规则的适配地址范围进行匹配;以及
在匹配结果表示所述目标客户端设备的地址信息在所述入方向安全组规则的适配地址范围内的情况下,确定所述入方向安全组规则为所述第一目标安全组规则。
2.根据权利要求1所述的方法,其中,所述连接请求中还携带有应用层内容;
其中,所述从服务端设备集群中确定目标服务端设备,包括:
根据所述连接请求中携带的应用层内容,确定目标应用场景;
从所述服务端设备集群中获取所述目标应用场景下的至少一个服务端设备;以及
基于预设负载均衡算法,从至少一个所述服务端设备中确定所述目标服务端设备。
3.根据权利要求2所述的方法,其中,所述预设负载均衡算法包括以下算法中的任意一项:随机算法、轮询、加权轮询、哈希算法、IP地址散列和URL散列。
4.根据权利要求1所述的方法,还包括:
在将所述连接请求发送至所述目标服务端设备之前,将所述连接请求中携带的地址信息修改为所述目标服务端设备的地址信息。
5.根据权利要求1所述的方法,还包括:
在所述第一目标安全组规则中配置的安全策略为拒绝的情况下,向所述目标客户端设备发送拒绝连接的反馈信息。
6.根据权利要求1所述的方法,还包括:
获取来自所述目标服务端设备的响应请求,其中,所述响应请求是所述目标服务端设备响应于接收到所述连接请求而生成的;
基于所述目标服务端设备的地址信息,从多条所述安全组规则中确定第二目标安全组规则;以及
在所述第二目标安全组规则中配置的安全策略为接受的情况下,将所述响应请求发送至所述目标客户端设备。
7.一种负载均衡装置,包括:
第一获取模块,用于获取来自目标客户端设备的连接请求,其中,所述连接请求中携带有地址信息;
第一确定模块,用于基于所述地址信息,从多条安全组规则中确定第一目标安全组规则,其中,所述安全组规则中还配置有传输方向、适配地址范围,所述传输方向包括出方向和入方向,所述适配地址范围用于表征所述安全组规则允许通过的数据包的IP地址范围;其中,所述安全组规则中还配置有协议类型、安全策略,所述协议类型用于表征所述安全组规则允许通过基于设定的通信协议的数据包,所述协议类型与目的端口相对应;所述安全策略包括接受和拒绝,所述安全策略配置为接受时表示所述安全组规则正常启用,所述安全策略配置为拒绝时表示所述安全组规则不启用,以拒绝使用所述安全组规则的连接请求;
第二确定模块,用于在所述第一目标安全组规则中配置的安全策略为接受的情况下,从服务端设备集群中确定目标服务端设备;以及第一发送模块,用于将所述连接请求发送至所述目标服务端设备;
其中,所述第一确定模块包括:
第一确定单元,用于从多条所述安全组规则中选择配置的传输方向为入方向的安全组规则,得到至少一条入方向安全组规则;
第二确定单元,用于对于每条所述入方向安全组规则,将所述目标客户端设备的地址信息与所述入方向安全组规则的适配地址范围进行匹配;以及
第三确定单元,用于在匹配结果表示所述目标客户端设备的地址信息在所述入方向安全组规则的适配地址范围内的情况下,确定所述入方向安全组规则为所述第一目标安全组规则。
8.一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个指令,
其中,当所述一个或多个指令被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至6中任一项所述的方法。
9.一种计算机可读存储介质,其上存储有可执行指令,所述可执行指令被处理器执行时使处理器实现权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210139507.XA CN114513465B (zh) | 2022-02-15 | 2022-02-15 | 负载均衡方法、负载均衡装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210139507.XA CN114513465B (zh) | 2022-02-15 | 2022-02-15 | 负载均衡方法、负载均衡装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114513465A CN114513465A (zh) | 2022-05-17 |
CN114513465B true CN114513465B (zh) | 2024-09-20 |
Family
ID=81552425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210139507.XA Active CN114513465B (zh) | 2022-02-15 | 2022-02-15 | 负载均衡方法、负载均衡装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114513465B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115665048B (zh) * | 2022-10-09 | 2024-09-27 | 浪潮云信息技术股份公司 | 基于四层负载均衡集群的同步conntrack方法、系统及装置 |
CN115589391B (zh) * | 2022-12-09 | 2023-03-21 | 北京百度网讯科技有限公司 | 基于区块链的即时通信处理方法、装置、设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110290174A (zh) * | 2019-05-24 | 2019-09-27 | 华为技术有限公司 | 一种主主集群的控制方法以及控制节点 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6754699B2 (en) * | 2000-07-19 | 2004-06-22 | Speedera Networks, Inc. | Content delivery and global traffic management network system |
US20100050229A1 (en) * | 2008-08-19 | 2010-02-25 | International Business Machines Corporation | Validating network security policy compliance |
US20110314119A1 (en) * | 2010-06-18 | 2011-12-22 | Deepak Kakadia | Massively scalable multilayered load balancing based on integrated control and data plane |
CN102638407B (zh) * | 2012-04-17 | 2014-10-29 | 北京星网锐捷网络技术有限公司 | 报文转发方法、装置及网络设备 |
CN110022281B (zh) * | 2018-01-08 | 2021-11-19 | 中国移动通信有限公司研究院 | 访问控制列表容量的测试方法、设备和计算机存储介质 |
CN109040243B (zh) * | 2018-08-02 | 2021-04-30 | 新华三信息安全技术有限公司 | 一种报文处理方法及装置 |
US11042397B2 (en) * | 2019-02-22 | 2021-06-22 | Vmware, Inc. | Providing services with guest VM mobility |
US11218512B2 (en) * | 2019-04-30 | 2022-01-04 | Palo Alto Networks, Inc. | Security policy enforcement and visibility for network architectures that mask external source addresses |
CN112491822A (zh) * | 2020-11-13 | 2021-03-12 | 中盈优创资讯科技有限公司 | 一种安全策略自动下发的方法及装置 |
CN113179323B (zh) * | 2021-04-29 | 2023-07-04 | 杭州迪普科技股份有限公司 | 用于负载均衡设备的https请求处理方法、装置及系统 |
-
2022
- 2022-02-15 CN CN202210139507.XA patent/CN114513465B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110290174A (zh) * | 2019-05-24 | 2019-09-27 | 华为技术有限公司 | 一种主主集群的控制方法以及控制节点 |
Also Published As
Publication number | Publication date |
---|---|
CN114513465A (zh) | 2022-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11316786B2 (en) | Systems and methods for directly responding to distributed network traffic | |
US9781161B2 (en) | Network devices using TLS tickets for session persistence | |
CN114513465B (zh) | 负载均衡方法、负载均衡装置、电子设备和存储介质 | |
US20160234196A1 (en) | Centralized pluggable authentication and authorization | |
US10178033B2 (en) | System and method for efficient traffic shaping and quota enforcement in a cluster environment | |
US11556607B2 (en) | System and method for abstracted analysis system design for dynamic API scanning service | |
CN113315706B (zh) | 私有云流量控制方法、设备及系统 | |
US10715449B2 (en) | Layer 2 load balancing system | |
US11570035B2 (en) | Techniques for accessing logical networks via a virtualized gateway | |
US11799827B2 (en) | Intelligently routing a response packet along a same connection as a request packet | |
CN112511565B (zh) | 请求响应方法、装置、计算机可读存储介质及电子设备 | |
US12095677B2 (en) | Application port management | |
US11658822B1 (en) | Dynamic cross origin resource control | |
US10355964B2 (en) | Method and system to capture selected network data | |
CN114268667B (zh) | 数据转发方法、装置、计算机设备及存储介质 | |
US10341292B2 (en) | Increased port address space | |
CN110545230A (zh) | 用于转发vxlan报文的方法和装置 | |
US9912757B2 (en) | Correlation identity generation method for cloud environment | |
US11159434B2 (en) | Adaptive rate limiting of flow probes | |
CN112491066A (zh) | 负载均衡方法、装置、系统、目标负载均衡设备及介质 | |
CN113419878B (zh) | 一种数据操作方法和装置 | |
US10645444B2 (en) | Accessing web content in offline mode | |
CN117439805A (zh) | 一种安全网关以及身份验证方法 | |
KR101581776B1 (ko) | 웹 서버에서 파일 디스크립터를 분배하는 방법, 이를 사용한 웹 서버 및 컴퓨터 판독 가능한 기록 매체 | |
WO2023088564A1 (en) | Controller configured to perform load balancing in a non-application layer utilizing a non-application protocol |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |