CN113010314B - 负载均衡方法、装置和电子设备 - Google Patents

负载均衡方法、装置和电子设备 Download PDF

Info

Publication number
CN113010314B
CN113010314B CN202110288156.4A CN202110288156A CN113010314B CN 113010314 B CN113010314 B CN 113010314B CN 202110288156 A CN202110288156 A CN 202110288156A CN 113010314 B CN113010314 B CN 113010314B
Authority
CN
China
Prior art keywords
load balancing
network
port
virtual machine
access 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
Application number
CN202110288156.4A
Other languages
English (en)
Other versions
CN113010314A (zh
Inventor
丁国强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN202110288156.4A priority Critical patent/CN113010314B/zh
Publication of CN113010314A publication Critical patent/CN113010314A/zh
Application granted granted Critical
Publication of CN113010314B publication Critical patent/CN113010314B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种负载均衡方法、装置和电子设备,涉及云计算技术领域,该方法包括通过第一端口接收来自外部网络的访问请求;从内部网络中的虚拟机中,确定处理该访问请求的目标虚拟机;通过第二端口将该访问请求发送给目标虚拟机,以通过该目标虚拟机处理该访问请求。本发明实施例通过在负载均衡服务上设置第一端口,并通过该第一端口与外部网络通信连接,且将外部网络中的服务访问地址设置为第一端口的IP地址,从而实现对外部网络提供负载均衡服务,由于不需要引入虚拟路由器,从而减少了访问流量流经的设备数,且不需要进行NAT网络地址转换,也不受其性能的制约,从而提升了负载均衡节点的网络吞吐性能。

Description

负载均衡方法、装置和电子设备
技术领域
本发明涉及云计算技术领域,尤其是涉及一种负载均衡方法、装置和电子设备。
背景技术
在以Openstack为基础的云平台架构下,负载均衡器(Server Load Balancer,SLB)服务使用的是neutron-lbaas组件来实现其功能的。在现有技术方案中,neutron-lbaas并未直接提供对外负载均衡的能力,而需要通过下述多个操作步骤实现:
1)创建一个弹性公网IP地址(Elastic IP,EIP),作为负载均衡器对外服务使用的地址,即服务访问入口;
2)创建一个虚拟路由器,并将其加入到虚拟机的虚拟专有网络;
3)将负载均衡器网关地址设置为虚拟路由器地址;
4)将弹性公网IP地址与负载均衡内网端口IP做网络地址转换(Network AddressTranslation,NAT)绑定。
由于上述对外负载均衡的实现方式需要引入虚拟路由器,这种方式增加了流量流经的设备数,从而会降低负载均衡节点的网络吞吐性能;并且,由于负载均衡节点的网络吞吐性能,还受负载均衡器中网络地址转换性能的制约,使得其无法满足高吞吐网络业务场景的应用需求。
发明内容
有鉴于此,本发明的目的在于提供一种负载均衡方法、装置和电子设备,可以提升负载均衡节点的网络吞吐性能,使其满足高吞吐网络业务场景的应用需求。
第一方面,本发明实施例提供了一种负载均衡方法,该方法应用于运行有负载均衡服务的设备;该负载均衡服务的第一端口与外部网络通信连接,该第一端口配置有该负载均衡服务在外部网络中的服务访问地址;该负载均衡服务的第二端口与内部网络中的虚拟机通信连接;该方法包括:通过第一端口接收来自外部网络的访问请求;从内部网络中的虚拟机中,确定处理该访问请求的目标虚拟机;通过第二端口将该访问请求发送给目标虚拟机,以通过该目标虚拟机处理该访问请求。
在本发明可选的实施例中,上述设备的第一网卡与第一端口均桥接至第一网桥,该第一网卡与上述外部网络通信连接。
在本发明可选的实施例中,上述第二端口通过该设备中的第二网桥连接至第三网桥,该第三网桥连接至第二网卡,该第二网卡与该内部网络中的虚拟机通信连接。
在本发明可选的实施例中,上述方法还包括:将该第一端口的网关地址配置为该外部网络的网关地址。
在本发明可选的实施例中,上述从内部网络中的虚拟机中,确定处理该访问请求的目标虚拟机的步骤,包括:按照预设的概率从上述内部网络中的虚拟机中选取一个虚拟机,或者,从上述内部网络中的虚拟机中选取当前负载最小的虚拟机,将选取的虚拟机确定为目标虚拟机。
在本发明可选的实施例中,上述第一端口和第二端口均为tap虚拟网卡设备。
第二方面,本发明实施例还提供了一种负载均衡装置,该装置应用于运行有负载均衡服务的设备;该负载均衡服务的第一端口与外部网络通信连接,该第一端口配置有该负载均衡服务在外部网络中的服务访问地址;该负载均衡服务的第二端口与内部网络中的虚拟机通信连接;该装置包括:访问请求接收模块,用于通过该第一端口接收来自外部网络的访问请求;目标虚拟机确定模块,用于从内部网络中的虚拟机中,确定处理该访问请求的目标虚拟机;访问请求发送模块,用于通过第二端口将该访问请求发送给目标虚拟机,以通过该目标虚拟机处理该访问请求。
在本发明可选的实施例中,上述设备的第一网卡与第一端口均桥接至第一网桥,该第一网卡与该外部网络通信连接。
第三方面,本发明实施例还提供了一种电子设备,该电子设备包括处理器和存储器,该存储器存储有能够被该处理器执行的计算机可执行指令,该处理器执行该计算机可执行指令以实现上述负载均衡方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述负载均衡方法。
本发明实施例带来了以下有益效果:
本发明实施例提供的一种负载均衡方法、装置和电子设备,通过第一端口接收来自外部网络的访问请求;从内部网络中的虚拟机中,确定处理该访问请求的目标虚拟机;通过第二端口将该访问请求发送给目标虚拟机,以通过该目标虚拟机处理该访问请求。该方式中,通过在负载均衡服务上设置第一端口,并通过该第一端口与外部网络通信连接,且将外部网络中的服务访问地址设置为第一端口的IP地址,从而实现对外部网络提供负载均衡服务,由于不需要引入虚拟路由器,从而减少了访问流量流经的设备数,提升了负载均衡节点的网络吞吐性能;并且,由于该方式不需要进行NAT网络地址转换,也不受其性能的制约,从而可以更好满足高吞吐网络业务场景的应用需求。
本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种结合路由器对外网提供负载均衡服务的流量传递示意图;
图2为本发明实施例提供的一种负载均衡方法的流程示意图;
图3为本发明实施例提供的一种通过本申请负载均衡方法对外网提供负载均衡服务的流量传递示意图;
图4为本发明实施例提供的一种负载均衡装置的结构示意图;
图5为本发明实施例提供的一种电子设备的结构示意图。
图标:41-访问请求接收模块;42-目标虚拟机确定模块;43-访问请求发送模块;51-处理器;52-存储器;53-总线;54-通信接口。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,其为一种结合路由器对外网提供负载均衡服务的流量传递示意图,在图1所示的方式中,负载均衡节点(对应图中Network Node)中创建有虚拟负载均衡器(ServerLoad Balancer,SLB)和虚拟路由器(VRouter),其中,该虚拟负载均衡器中设置有内部端口tap-internal,虚拟路由器中设置有端口qg-xxx和端口qr-yyy,在本实施例中,该端口qg-xxx和端口qr-yyy均为tap设备。这里,tap设备是Linux提供的一个可以虚拟网络设备的方式,用户通过创建tap设备可以实现虚拟二层网络功能,例如,该虚拟负载均衡器即是通过tap设备来实现网络虚拟化功能。
在图1中,路由器的端口qg-xxx和负载均衡节点的外部网卡eth-ex共同桥接到外部网桥br-ex,该外部网卡eth-ex与外部网络(ExtNet)通信连接;路由器的端口qr-yyy与虚拟负载均衡器的内部端口tap-internal共同桥接至负载均衡节点的内部网桥br-int,并且,该内部网桥与另一内部网桥br-vlan相连,负载均衡节点的内部网卡eth-vlan桥接至该网桥br-vlan,且该网桥br-vlan与内部网络的虚拟机VM1通信连接,其中,该虚拟机VM1运行在内部网络中的计算节点(对应图中Compute Node)。在其他可能的实施方式中,还可以有多个虚拟机,并且,这些虚拟机均通过上述内部网卡eth-vlan与虚拟负载均衡器通信连接。
在基于图1中的方式处理外网的访问请求时,首先由虚拟路由器的端口qg-xxx接收到访问请求,并通过网络地址转换得到内部网络的目标地址(对应图中DNAT),发送给端口qr-yyy,进而由端口qr-yyy将访问请求和目标地址发送给虚拟负载均衡器,以由该虚拟负载均衡器选择处理该访问请求的虚拟机,并通过选择出的虚拟机处理该访问请求,得到处理结果。当需要返回处理结果时,虚拟路由器会将要发送的地址转换为外网访问的源地址(对应图中SNAT),从而将处理结果返回到该源地址,实现完整的访问请求。
然而,对于图1中示出的负载均衡方式,由于额外引入了虚拟路由器来完成对外服务的功能,这样不仅增加了流量流经的设备数,与虚拟路由器已有的转发业务以及其他弹性公网IP地址会相互影响,而且网络吞吐性能受网络地址转换服务的制约,使其无法满足某些高吞吐的网络业务场景使用。
考虑到现有对外负载均衡的实现方式,还存在负载均衡节点的网络吞吐性能受负载均衡器中网络地址转换性能的制约,无法满足高吞吐网络业务场景的应用需求的问题,本发明实施例提供的一种负载均衡方法、装置和电子设备,该技术可以应用于需要对外网提供负载均衡服务的各种应用场景中。为便于对本实施例进行理解,首先对本发明实施例所公开的一种负载均衡方法进行详细介绍。
如图2所示,其为本发明实施例提供的一种负载均衡方法的流程示意图,其中,该方法应用于运行有负载均衡服务的设备,并且,该负载均衡服务的第一端口与外部网络通信连接,该第一端口配置有该负载均衡服务在外部网络中的服务访问地址,该负载均衡服务的第二端口与内部网络中的虚拟机通信连接。
由图2可见,该方法包括下述步骤:
步骤S202:通过第一端口接收来自外部网络的访问请求。
这里,上述运行有负载均衡服务的设备可以是个人计算机、工作站、服务器、终端设备等。在本实施例中,上述负载均衡服务是在以Openstack为基础的云平台架构下,通过neutron-lbaas组件来实现的。该负载均衡服务将访问流量根据转发策略分发到后端多台云服务器,实现流量分发控制服务。其中,对外负载均衡是指负载均衡提供服务的IP地址位于外部网络中,基于对外负载均衡服务,用户可以直接通过对应的外部网络IP地址实现对内部网络的访问。
另外,上述外部网络是作为一个从集群外的物理设备可以直接访问的网络,是集群对外服务的入口。在实际使用中,外部网络通常用作公网网络使用,也即,该外部网络可以通过网关到达集群出口网络设备,然后转发到公网网络,也能够在公网网络通过路由进入到集群出口网络设备,再转发到服务器的网络节点。
在其中一种可能的实施方式中,上述运行有负载均衡服务的设备中包括第一网卡,其中,该第一网卡用于与外部网络通信连接,并且,上述第一网卡与第一端口均桥接至该设备中的第一网桥。这里,该第一网桥主要用于将该设备的上联网流量进行转发,类似于物理网络环境中的核心交换机。并且,该第一网卡为物理网卡,以云平台网络的应用为例,该第一网卡在网络规划中被规划为外部网络的物理网卡。
这里,还需要将上述第一端口的网关地址配置为该外部网络的网关地址,这样,当外部网络的用户向上述运行有负载均衡服务的设备发出访问请求时,上述第一端口可以接受到该访问请求。
步骤S204:从内部网络中的虚拟机中,确定处理该访问请求的目标虚拟机。
在其中一种可能的实施方式中,可以通过预设的负载均衡算法,从该内部网络中的虚拟机中确定处理该访问请求的目标虚拟机。这里,该负载均衡算法可以是静态负载均衡算法或者动态负载均衡算法,其中,静态负载均衡算法以固定的概率分配任务,不考虑服务器的状态信息,如轮转算法、加权轮转算法等,具体地,其按照预设的概率从上述内部网络中的虚拟机中选取一个虚拟机,并将选取的虚拟机确定为目标虚拟机;动态负载均衡算法以服务器的实时负载状态信息来决定任务的分配,如最小连接法、加权最小连接法等,例如,其可以从上述内部网络中的虚拟机中选取当前负载最小的虚拟机,并将选取的虚拟机确定为目标虚拟机。
步骤S206:通过第二端口将该访问请求发送给目标虚拟机,以通过该目标虚拟机处理该访问请求。
在至少一种可能的实施方式中,上述运行有负载均衡服务的设备中还包括第二网卡,其中,该第二网卡用于与内部网络通信连接。并且,上述第二端口通过该设备中的第二网桥连接至第三网桥,该第三网桥连接至第二网卡,该第二网卡与该内部网络中的虚拟机通信连接。这里,第二网桥主要用于将该设备的所有虚拟网络设备进行二层交换,同时实现必要的隔离性(例如:VPC网络隔离),类似于物理网络环境中的接入交换机。
在实际操作中,上述第一端口和第二端口均可以是tap虚拟网卡设备,其中,tap设备是Linux提供的一个可以虚拟网络设备的方式,用户通过创建tap设备可以实现虚拟二层网络功能。
本发明实施例提供的一种负载均衡方法,通过第一端口接收来自外部网络的访问请求;从内部网络中的虚拟机中,确定处理该访问请求的目标虚拟机;通过第二端口将该访问请求发送给目标虚拟机,以通过该目标虚拟机处理该访问请求。该方式中,通过在负载均衡服务上设置第一端口,并通过该第一端口与外部网络通信连接,且将外部网络中的服务访问地址设置为第一端口的IP地址,从而实现对外部网络提供负载均衡服务,由于不需要引入虚拟路由器,从而减少了访问流量流经的设备数,提升了负载均衡节点的网络吞吐性能;并且,由于该方式不需要进行NAT网络地址转换,也不受其性能的制约,从而可以更好满足高吞吐网络业务场景的应用需求。
为了更清楚理解前述实施例提供的负载均衡方法,下面介绍一个负载均衡的应用实例,参见图3,其为一种通过本申请负载均衡方法对外网提供负载均衡服务的流量传递示意图。在图3示出的实施方式中,该负载均衡服务是以Openstack为基础的云平台架构下,通过neutron-lbaas组件来实现。
在图3中,网络节点设备(图中Network Node)上创建有虚拟负载均衡器,该虚拟负载均衡器拥有两个虚拟网卡设备,类型均为tap设备,分别为tap-external(也即第一端口)和tap-internal(也即第二端口)。其中,tap-external负责与外部网络ExtNet通信,这里,tap-external桥接至网络节点设备中的外部网卡eth-ex,并且,将tap-external的IP地址配置为外部网络ExtNet的服务访问地址,将该虚拟负载均衡器的网关地址设置为外部网络ExtNet的网关地址。
另外,该虚拟负载均衡器的第二端口tap-internal负责与内部网络中的虚拟机VM1进行通信,这里,将第二端口tap-internal桥接到br-int网桥(也即第二网桥)。在实际操作中,需为第二端口tap-internal配置虚拟机VM1所在虚拟专有网络(Virtual PrivateCloud,VPC)的IP地址,并且不需要为其配置网关。这里,br-int网桥还与br-vlan网桥(也即第三网桥)相连,并且br-vlan网桥与eth-vlan网卡(也即第二网卡)相连,该eth-vlan网卡与虚拟机所在的节点设备中的网卡通信连接。
这样,基于图3中所示的实施方式,即可实现向外部网络提供负载均衡服务。并且,该方式相比于现有对外负载均衡方式,由于不需要引入虚拟路由器,可以减少访问流量流经的设备数,且去掉了多余的NAT转换过程,并因此减少了conntrack表项对负载均衡节点内存的消耗,从而提升负载均衡节点的网络吞吐性能。此外,由于该方式实现了虚拟负载均衡服务与虚拟路由器服务的解耦,杜绝了二者的互相影响,因而进一步提升了负载均衡服务的性能。
对应于图2中所示的负载均衡方法,本发明实施例还提供了一种负载均衡装置,该装置应用于运行有负载均衡服务的设备;该负载均衡服务的第一端口与外部网络通信连接,该第一端口配置有该负载均衡服务在外部网络中的服务访问地址;该负载均衡服务的第二端口与内部网络中的虚拟机通信连接。如图4所示,其为一种负载均衡装置的结构示意图,由图4可见,该装置包括依次相连的访问请求接收模块41、目标虚拟机确定模块42和访问请求发送模块43,其中,各个模块的功能如下:
访问请求接收模块41,用于通过该第一端口接收来自外部网络的访问请求;
目标虚拟机确定模块42,用于从内部网络中的虚拟机中,确定处理该访问请求的目标虚拟机;
访问请求发送模块43,用于通过第二端口将该访问请求发送给目标虚拟机,以通过该目标虚拟机处理该访问请求。
本发明实施例提供的一种负载均衡装置,通过第一端口接收来自外部网络的访问请求;从内部网络中的虚拟机中,确定处理该访问请求的目标虚拟机;通过第二端口将该访问请求发送给目标虚拟机,以通过该目标虚拟机处理该访问请求。该装置中,通过在负载均衡服务上设置第一端口,并通过该第一端口与外部网络通信连接,且将外部网络中的服务访问地址设置为第一端口的IP地址,从而实现对外部网络提供负载均衡服务,由于不需要引入虚拟路由器,从而减少了访问流量流经的设备数,提升了负载均衡节点的网络吞吐性能;并且,由于该方式不需要进行NAT网络地址转换,也不受其性能的制约,从而可以更好满足高吞吐网络业务场景的应用需求。
在其中一种可能的实施方式中,上述设备的第一网卡与第一端口均桥接至第一网桥,该第一网卡与该外部网络通信连接。
在另一种可能的实施方式中,上述第二端口通过该设备中的第二网桥连接至第三网桥,该第三网桥连接至第二网卡,该第二网卡与该内部网络中的虚拟机通信连接。
在另一种可能的实施方式中,上述装置还包括网关地址配置模块,用于:将该第一端口的网关地址配置为该外部网络的网关地址。
在另一种可能的实施方式中,上述目标虚拟机确定模块42还用于:按照预设的概率从上述内部网络中的虚拟机中选取一个虚拟机,或者,从上述内部网络中的虚拟机中选取当前负载最小的虚拟机,将选取的虚拟机确定为目标虚拟机。
在另一种可能的实施方式中,上述第一端口和第二端口均为tap虚拟网卡设备。
本发明实施例提供的负载均衡装置,其实现原理及产生的技术效果和前述负载均衡方法实施例相同,为简要描述,负载均衡装置的实施例部分未提及之处,可参考前述负载均衡方法实施例中相应内容。
本发明实施例还提供了一种电子设备,如图5所示,为该电子设备的结构示意图,其中,该电子设备包括处理器51和存储器52,该存储器52存储有能够被该处理器51执行的机器可执行指令,该处理器51执行该机器可执行指令以实现上述负载均衡方法。
在图5示出的实施方式中,该电子设备还包括总线53和通信接口54,其中,处理器51、通信接口54和存储器52通过总线连接。
其中,存储器52可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口54(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器51可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器51中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器51可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器51读取存储器52中的信息,结合其硬件完成前述实施例的负载均衡方法的步骤。
本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现上述负载均衡方法,具体实现可参见前述方法实施例,在此不再赘述。
本发明实施例所提供的负载均衡方法、负载均衡装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的负载均衡方法,具体实现可参见方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种负载均衡方法,其特征在于,所述方法应用于运行有负载均衡服务的设备;所述负载均衡服务的第一端口与外部网络通信连接,所述第一端口配置有所述负载均衡服务在所述外部网络中的服务访问地址;所述负载均衡服务的第二端口与内部网络中的虚拟机通信连接;所述方法包括:
通过所述第一端口接收来自所述外部网络的访问请求;
从所述内部网络中的虚拟机中,确定处理所述访问请求的目标虚拟机;
通过所述第二端口将所述访问请求发送给所述目标虚拟机,以通过所述目标虚拟机处理所述访问请求。
2.根据权利要求1所述的负载均衡方法,其特征在于,所述设备的第一网卡与所述第一端口均桥接至第一网桥,所述第一网卡与所述外部网络通信连接。
3.根据权利要求2所述的负载均衡方法,其特征在于,所述第二端口通过所述设备中的第二网桥连接至第三网桥,所述第三网桥连接至第二网卡,所述第二网卡与所述内部网络中的虚拟机通信连接。
4.根据权利要求1所述的负载均衡方法,其特征在于,所述方法还包括:
将所述第一端口的网关地址配置为所述外部网络的网关地址。
5.根据权利要求1所述的负载均衡方法,其特征在于,所述从所述内部网络中的虚拟机中,确定处理所述访问请求的目标虚拟机的步骤,包括:
按照预设的概率从所述内部网络中的虚拟机中选取一个虚拟机,或者,从所述内部网络中的虚拟机中选取当前负载最小的虚拟机,将选取的所述虚拟机确定为目标虚拟机。
6.根据权利要求1-5任一项所述的负载均衡方法,其特征在于,所述第一端口和所述第二端口均为tap虚拟网卡设备。
7.一种负载均衡装置,其特征在于,所述装置应用于运行有负载均衡服务的设备;所述负载均衡服务的第一端口与外部网络通信连接,所述第一端口配置有所述负载均衡服务在所述外部网络中的服务访问地址;所述负载均衡服务的第二端口与内部网络中的虚拟机通信连接;所述装置包括:
访问请求接收模块,用于通过所述第一端口接收来自所述外部网络的访问请求;
目标虚拟机确定模块,用于从所述内部网络中的虚拟机中,确定处理所述访问请求的目标虚拟机;
访问请求发送模块,用于通过所述第二端口将所述访问请求发送给所述目标虚拟机,以通过所述目标虚拟机处理所述访问请求。
8.根据权利要求7所述的负载均衡装置,其特征在于,所述设备的第一网卡与所述第一端口均桥接至第一网桥,所述第一网卡与所述外部网络通信连接。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1至6任一项所述的负载均衡方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现权利要求1至6任一项所述的负载均衡方法。
CN202110288156.4A 2021-03-17 2021-03-17 负载均衡方法、装置和电子设备 Active CN113010314B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110288156.4A CN113010314B (zh) 2021-03-17 2021-03-17 负载均衡方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110288156.4A CN113010314B (zh) 2021-03-17 2021-03-17 负载均衡方法、装置和电子设备

Publications (2)

Publication Number Publication Date
CN113010314A CN113010314A (zh) 2021-06-22
CN113010314B true CN113010314B (zh) 2023-12-22

Family

ID=76409464

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110288156.4A Active CN113010314B (zh) 2021-03-17 2021-03-17 负载均衡方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN113010314B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114020417A (zh) * 2021-11-17 2022-02-08 山东乾云启创信息科技股份有限公司 一种虚拟负载均衡系统及其工作方法
CN117040933B (zh) * 2023-10-09 2024-02-13 苏州元脑智能科技有限公司 跨区域的网络引流处理方法、安全处理方法、装置及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106686085A (zh) * 2016-12-29 2017-05-17 华为技术有限公司 一种负载均衡的方法、装置和系统
JP2018033135A (ja) * 2016-08-25 2018-03-01 エヌエイチエヌ エンターテインメント コーポレーションNHN Entertainment Corporation 仮想ネットワーク環境でループバックインタフェースを利用してdsrロードバランシングを処理する方法およびシステム
US10230642B1 (en) * 2015-04-23 2019-03-12 Cisco Technology, Inc. Intelligent data paths for a native load balancer
CN111901409A (zh) * 2020-07-24 2020-11-06 山东海量信息技术研究院 虚拟化云平台的负载均衡实现方法、装置及可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10230642B1 (en) * 2015-04-23 2019-03-12 Cisco Technology, Inc. Intelligent data paths for a native load balancer
JP2018033135A (ja) * 2016-08-25 2018-03-01 エヌエイチエヌ エンターテインメント コーポレーションNHN Entertainment Corporation 仮想ネットワーク環境でループバックインタフェースを利用してdsrロードバランシングを処理する方法およびシステム
CN106686085A (zh) * 2016-12-29 2017-05-17 华为技术有限公司 一种负载均衡的方法、装置和系统
CN111866064A (zh) * 2016-12-29 2020-10-30 华为技术有限公司 一种负载均衡的方法、装置和系统
CN111901409A (zh) * 2020-07-24 2020-11-06 山东海量信息技术研究院 虚拟化云平台的负载均衡实现方法、装置及可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
云计算网络中多租户虚拟网络隔离的分布式实现研究;严立宇;祖立军;叶家炜;周雍恺;吴承荣;;计算机应用与软件(第11期);全文 *
路由器TCP负载均衡地址转换的实现;王小荣;;网络与信息(第05期);全文 *

Also Published As

Publication number Publication date
CN113010314A (zh) 2021-06-22

Similar Documents

Publication Publication Date Title
US11539626B2 (en) Method, apparatus, and system for load balancing of service chain
CN107465590B (zh) 网络基础设施系统、路由网络业务的方法及计算机可读介质
US10320683B2 (en) Reliable load-balancer using segment routing and real-time application monitoring
US9888055B2 (en) Firewall for a virtual network and related techniques
CN109547349B (zh) 基于虚拟路由的流量管理方法、装置、终端及存储介质
JP6364106B2 (ja) DiameterシグナリングルータにおいてDiameterメッセージをルーティングするための方法、システムおよびコンピュータ読取可能媒体
CN113010314B (zh) 负载均衡方法、装置和电子设备
CN112965824A (zh) 报文的转发方法及装置、存储介质、电子设备
CN109474713B (zh) 报文转发方法和装置
EP3310011A1 (en) Load sharing method and related apparatus
CN114157633B (zh) 一种报文转发方法及装置
CN112887229B (zh) 一种会话信息同步方法及装置
CN110012118B (zh) 一种提供网络地址转换nat服务的方法及控制器
WO2015043679A1 (en) Moving stateful applications
CN110391987B (zh) 从运营商边缘设备集合中选择指定转发器的方法、设备及计算机可读介质
CN112243036B (zh) PaaS服务的数据处理方法及装置、设备、存储介质
CN113765801B (zh) 应用于数据中心的报文处理方法和装置、电子设备和介质
CN113179295A (zh) 报文处理方法及装置
CN112311672A (zh) 一种路由表项获得方法、装置及设备
CN112367261B (zh) 一种报文转发方法及装置、分布式设备
CN115412527A (zh) 虚拟私有网络之间单向通信的方法及通信装置
CN114726796A (zh) 流量控制方法、网关及交换机
CN114374666A (zh) 一种报文转发方法、装置、电子设备及存储介质
US10637777B2 (en) Address converting device, information processing system, and method of providing service
CN113918326A (zh) 一种处理请求的方法及装置

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