一种负载均衡方法、装置及电子设备与流程
未命名
09-22
阅读:81
评论:0

1.本技术涉及计算机技术领域,尤其涉及一种负载均衡方法、负载均衡装置及电子设备。
背景技术:
2.目前,基于数据平面开发套件(data plane development kit,dpdk)开发的高性能4层负载均衡器(dpvs),是在linux虚拟服务器(linux virtual server,lvs)的基础上修改得到的,dpvs能够匹配用户习惯,减少学习成本,因此受到各个云厂商的青睐。同时,公有云服务提供商一般都会向其租户提供虚拟私有云(virtual private cloud,vpc)网络服务。
3.然而,现有开源的dpvs方案,只能运行在经典的底层(underlay)网络中,无法支持vpc网络,存在兼容问题,无法实现后端虚拟服务器(virtual machine,vm)的负载均衡。
技术实现要素:
4.本技术提供一种负载均衡方法、负载均衡装置及电子设备,能够利用统一的接口实现转发流量、下发各个租户配置等操作;并且了实现dpvs与vpc网络的兼容。
5.本技术的技术方案是这样实现的:
6.一种负载均衡方法,所述方法包括:
7.接收第一报文;
8.对所述第一报文进行虚拟扩展局域网(virtual extensible local area network,vxlan)封装,得到第二报文;其中,所述第二报文包括外层报文头字段、vxlan头字段、内层报文头字段和报文体;
9.转发所述第二报文给后端虚拟服务器。
10.一种负载均衡装置,所述控制装置包括:
11.接收模块,用于接收第一报文;
12.处理模块,用于对所述第一报文进行vxlan封装,得到第二报文;其中,所述第二报文包括外层报文头字段、vxlan头字段、内层报文头字段和报文体;
13.发送模块,用于转发所述第二报文给后端虚拟服务器。
14.一种电子设备,所述电子设备包括:处理器以及存储有所述处理器可执行指令的存储介质;所述存储介质通过通信总线依赖所述处理器执行操作,当所述指令被所述处理器执行时,执行前述的负载均衡方法。
15.本技术提供的一种负载均衡方法,该方法包括:接收第一报文;对第一报文进行vxlan封装,得到第二报文;其中,第二报文包括外层报文头字段、vxlan头字段、内层报文头字段和报文体;转发第二报文给后端虚拟服务器。这样,利用统一的接口实现转发流量、下发各个租户配置等操作,方便管理;当业务的后端服务器是云主机的时候,通过对原始报文进行vxlan封装,与后端虚拟服务器所在的物理机建立vxlan隧道,能够将报文转发到vpc网
络内的后端虚拟服务器上,解决了兼容问题。
附图说明
16.图1为本技术的实施例提供的一种可选的负载均衡方法的流程示意图;
17.图2为本技术的实施例提供的一种可选的vxlan封装报文格式的示意图;
18.图3为本技术的实施例提供的一种可选的vxlan封装的示例图一;
19.图4为本技术的实施例提供的一种可选的vxlan封装的示例图二;
20.图5为本技术的实施例提供的一种可选的负载均衡代理的结构示意图;
21.图6为本技术的实施例提供的一种可选的负载均衡装置的结构示意图;
22.图7为本技术的实施例提供的一种电子设备的结构示意图。
具体实施方式
23.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,所描述的实施例不应视为对本技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
24.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
25.在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够除了在这里图示或描述的以外的顺序实施。
26.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
27.本技术的实施例提供一种负载均衡方法,应用于负载均衡集群中的负载均衡代理,参照图1所示,该方法包括以下步骤:
28.步骤101、接收第一报文。
29.其中,第一报文可以理解为封装前的原始报文。
30.一些实施例中,步骤101可以理解为接收北向接口发送的第一报文。北向接口可以包括网络应用程序的设计风格和开发方式(representational state transfer,restful)的应用程序接口(application programming interface,api)。该restful api用于新增、变更、删除所调用资源;restful指的是可以基于超文本传输协议(hyper text transfer protocol,http),可以使用可扩展标记语言(extensible markup language,xml)格式定义或js对象简谱(javascript object notation,json)格式定义。
31.这样,在负载均衡代理后,上层局域网(world wide web,web)和各负载均衡主机建立http连接,然后通过接口统一下发配置和业务数据到整个负载均衡集群内的各主机上。
32.步骤102、对第一报文进行虚拟扩展局域网vxlan封装,得到第二报文。
33.其中,第二报文包括外层报文头字段、vxlan头字段、内层报文头字段和报文体。
34.在一些实施例中,外层报文头字段包括:外层媒体访问控制(media access control,mac)头、外层互联网协议(internet protocol,ip)头和外层用户数据报协议(user datagram protocol,udp);内层报文头字段包括内层mac头和内层ip头。图2为本技术的实施例提供的一种可选的vxlan封装报文格式的示意图,参照图2所示,第二报文包括:外层mac头、外层ip头、外层udp头、vxlan头、内层mac头、内层ip头以及报文体。
35.其中,vxlan头中可以包含24比特的vxlan网络标识符(vxlan network identifier,vni)字段,用来定义vxlan网络中不同的租户。可以理解的是,vni是一种类似于vlan id的用户标识,一个vni代表了一个租户,属于不同vni的虚拟机之间不能直接进行二层通信。vxlan报文封装时,给vni分配了24比特的长度空间,使其可以支持海量租户的隔离。外层udp头中,目的端口号(udp_s_p)固定为4789,源端口号(udp_d_p)是原始以太帧通过哈希算法计算后的值。
36.在一些实施例中,步骤102之后可以包括:调用负载均衡集群中的管理工具,将第二报文转发至虚拟ip地址。其中,该管理工具可以包括:lvs包含的ipvsadm管理工具。
37.这样,负载均衡集群中直接通过ipvsadm模块下发配置到负载均衡的内存,针对后端虚拟服务器配置实时生效不再经过keepalived模块,如果需要修改配置,无需手动修改后再重启keepalived进程,方便管理人员对整个负载均衡集群的管理。
38.步骤103、转发第二报文给后端虚拟服务器。
39.可以理解的是,vxlan是一种将二层网络报文用三层网络协议进行封装的技术,该技术将二层网络构建在传统的三层网络之上,实现了对二层网络在三层网络范围内的扩展,被称为在第三层网络上的第二层网络覆盖方案,典型的vxlan网络vm、vxlan隧道端点(vxlan tunnel endpoints,vtep)和软件定义网络(software defined networking,sdn)控制器。
40.需要说明的是,用vtep将二层以太网帧封装在udp中,一个vtep可以被一个物理机上的所有vm共用,一个物理机对应一个vtep。从交换机的角度来看,只是不同的vtep之间在传递udp数据,只需要记录与物理机数量相当的mac地址表条目就可以了。其中,vtep既可以是一台独立的网络设备,也可以是在服务器中的虚拟交换机;源服务器发出的原始数据帧,在vtep上被封装成vxlan格式的报文,并在ip网络中传递到另外一个vtep上,并经过解封转还原出原始的数据帧,最后转发给目的服务器。
41.示例性的,报文经过负载均衡代理封装好进入vm所在的物理机,物理机中的vtep接收到vxlan报文后拆除外层udp头部,并根据vxlan头包含的vni把原始报文发送到目的服务器,这样业务数据或者业务流量就能进入到vm。
42.在一个可实现的负载均衡场景下,dpvs包括多台负载均衡器,每一负载均衡器对应设置有负载均衡代理,用于接收前端用户界面发送的第一报文,并将用于将第一报文分配到对应的后端虚拟服务器以实现最佳的资源利用率、最大限度地提高吞吐量和缩短响应时间,还可以避免计算机系统出现过载。
43.本技术实施例提供的一种负载均衡方法,该方法包括:接收第一报文;对第一报文进行虚拟扩展局域网vxlan封装,得到第二报文;其中,第二报文包括外层报文头字段、vxlan头字段、内层报文头字段和报文体;转发第二报文给后端虚拟服务器。这样,利用统一
的接口实现转发流量、下发各个租户配置等操作,方便管理;当业务的后端服务器是云主机的时候,通过对原始报文进行vxlan封装,能够将报文转发到后端为vpc网络内的服务器上,解决了兼容问题。
44.在一些实施例中,步骤102对第一报文进行vxlan封装,得到第二报文,包括:
45.步骤a1、剥离第一报文的mac头字段和ip头字段,得到mac头字段和ip头字段中包含的信息,以及第一报文的报文体;
46.步骤a2、对ip头字段中包含的信息进行更改,得到第一报文对应的虚拟ip地址;
47.步骤a3、结合第一报文的mac头字段和更改后的ip头字段,得到内层报文头字段;
48.步骤a4、为第一报文的报文体依次封装外层报文头字段、vxlan头字段和内层报文头字段,得到第二报文。
49.在一个可选的实施例中,步骤a2中ip头字段中包含的信息可以包括:目的ip地址。
50.示例性的,将第一报文中ip头字段中目的ip地址为172.52.10.1:80更改为:虚拟ip地址为192.168.10.1。
51.这样,在更改了第一报文的目的ip地址后,结合第一报文的mac头字段得到了内层报文头字段,按照外层报文头字段、vxlan头字段和内层报文头字段的顺序,完成了vxlan封装,与后端虚拟服务器所在的物理机建立vxlan隧道,解决了兼容问题的同时,减少了报文中信息的丢失。
52.在一些实施例中,步骤a4为第一报文的报文体依次封装外层报文头字段、vxlan头字段和内层报文头字段,得到第二报文之前,上述方法还包括:
53.根据负载均衡代理的mac地址和后端虚拟服务器所属物理机的mac地址,得到外层mac头;
54.根据后端虚拟服务器所属物理机的ip地址,得到外层ip头;
55.根据固定端口号和第一报文中的目的ip地址,得到外层udp头。
56.示例性的,后端虚拟服务器所属物理机的sip地址为10.10.10.1,dip地址为192.168.10.1;目的端口号(udp_s_p)固定为4789,源端口号(udp_d_p)是原始以太帧通过哈希算法计算后的值。
57.这样,得到vxlan封装需要用到的外层报文头,方便后续进行相应地封装。
58.在一些实施例中,步骤a4为第一报文的报文体依次封装外层报文头字段、vxlan头字段和内层报文头字段,得到第二报文,包括:
59.按照外层mac头、外层ip头、外层udp头、vxlan头字段、内层mac头和内层ip头的顺序,将第一报文的报文体依次封装,得到第二报文。
60.示例性的,参照图2所示,按照图2中的顺序依次进行封装,得到的第二报文是格式为:外层mac头、外层ip头、外层udp头、vxlan头字段、内层mac头、内层ip头以及报文体。
61.这样,当业务的后端服务器是云主机的时候,通过对原始报文进行vxlan封装,与后端虚拟服务器所在的物理机建立vxlan隧道,能够将报文转发到vpc网络内的后端虚拟服务器上,解决了兼容问题。
62.在一些实施例中,步骤103转发第二报文给后端虚拟服务器之后,上述方法还包括:
63.接收后端虚拟服务器发送的配置结果并存储;
64.发送配置结果给北向接口模块。
65.这样,后端虚拟服务器的配置结果会保存在负载均衡代理的内存中以备份,并且经过负载均衡代理发送到用户侧,可以保证设备重启的时候上一次配置结果不丢失。
66.在一些实施例中,负载均衡代理还包括监控工具;上述方法还包括:
67.对报文转发的过程进行监控,生成监控数据;
68.周期性查看负载均衡集群的配置文件;
69.比较配置结果和配置文件,若存在差异,将监控数据发送至北向接口模块。
70.本技术实施例中,监控工具可以包括健康检查脚本。
71.示例性的,健康检查脚本监控负载均衡的运行情况,以10秒为一个周期,比较监控数据和配置文件的差异,发送监控数据给用户和运维人员,使得运维人员可以对异常数据和日志进行分析。
72.这样,在负载均衡过程异常时能够中止过程,并将报文转发的步骤切换至集群内其他正常运行的负载均衡器上。
73.图3和图4均为本技术的实施例提供的一种可选的vxlan封装的示例图;参照图3和图4所示,示例性的,基于dpvs的原有架构,用户10.10.10.1访问vip:vport为172.52.10.1:80的服务,对报文进行如下vxlan封装:
74.首先,将目的ip地址(172.52.10.1:80)更改为后端vm的虚拟ip地址(192.168.10.1),在配置负载均衡后端服务器的时候,负载均衡代理需要增加vni(5643)、localip(10.184.10.5)和remoteip(10.184.20.5)等信息,这样,负载均衡器和vm所在的物理机建立vxlan隧道。内部源mac设定为特定的mac地址,udp的目的端口号(udp_s_p)固定为4789,源端口号(udp_d_p)是根据内部的sip进行hash填写。vxlan报文的外部sip地址和dip地址统一规划后由负载均衡代理写入,分别为10.184.10.5和10.184.20.5。外部的mac地址分别是负载均衡器网卡的mac地址和vm所在物理机网卡的mac地址。
75.图5为本技术的实施例提供的一种可选的负载均衡代理的结构示意图,参照图5所示,对本技术的实施例的负载均衡代理的架构作出进一步地描述,负载均衡代理包括:
76.北向接口模块501,用于发送未封装的原始报文给代理模组502;
77.代理模组502,用于对原始报文进行vxlan封装,得到封装后的报文;
78.管理模块503,用于下发封装后的报文至后端虚拟服务器;
79.配置文件存储模块504,用于对接收到的配置结果进行存储;
80.监控模块505,用于对报文转发的过程进行监控。
81.本技术的实施例提供的负载均衡代理中,代理模组502是控制逻辑实现的核心模块,也可以理解为负载均衡代理的核心处理器,能够执行报文封装、调用其他模块等步骤。管理模块503可以包括ipvsadm模块,这样,本技术的实施例提供的负载均衡方法可以不再经过keepalived模块,而是由代理模组502直接调用ipvsadm模块下发配置到dpvs的内存,使得dpvs根据配置进行业务的分发。代理模组502在报文转发的同时,会保存配置结果至自己生成的本地配置文件存储模块504,这样,当出现配置回退或者负载均衡器重启等情况,可以实现快速恢复配置。监控模块505还可以包括健康检查脚本,代理模组502调用健康检查脚本,定时比较dpvs的内存的配置数据与本地配置文件存储模块504中储的配置文件,保证配置数据的一致性。代理模组502还可以调用监控模块505实时监控负载均衡器的运行情
况,对异常数据和日志进行分析,及时发送告警给用户和运维人员;这样,当负载均衡器故障时,可以将流量无缝切换至负载均衡集群内其他正常的负载均衡器上。
82.本技术的实施例提供一种负载均衡装置,该控制装置可以应用于图1对应的实施例提供的一种负载均衡方法中,参照图6所示,该负载均衡装置6包括:
83.接收模块601,用于接收第一报文;
84.处理模块602,用于对第一报文进行vxlan封装,得到第二报文;其中,第二报文包括外层报文头字段、vxlan头字段、内层报文头字段和报文体;
85.发送模块603,用于转发第二报文给后端虚拟服务器。
86.在本技术的其他实施例中,外层报文头字段包括:外层媒体访问控制mac头、外层互联网协议ip头和外层用户数据报协议udp头;内层报文头字段包括内层mac头和内层ip头。
87.在本技术的其他实施例中,处理模块602,还用于:
88.根据负载均衡代理的mac地址和后端虚拟服务器所属物理机的mac地址,得到外层mac头;
89.根据后端虚拟服务器所属物理机的ip地址,得到外层ip头;
90.根据固定端口号和第一报文中的目的ip地址,得到外层udp头。
91.在本技术的其他实施例中,处理模块602,还用于:
92.在剥离第一报文的ip头时,获取第一报文的ip头中的目的ip地址;
93.在封装第二报文的内层ip头时,将目的ip地址替换为虚拟ip地址,对应写入内层ip头;
94.在剥离第一报文的原始以太帧时,获取第一报文的源端口号;
95.在封装第二报文的内层mac头时,将源端口号对应写入内层mac头。
96.在本技术的其他实施例中,发送模块603,还用于调用负载均衡集群中的管理工具,将第二报文转发至虚拟ip地址。
97.在本技术的其他实施例中,发送模块601,还用于接收后端虚拟服务器发送的配置结果并存储;
98.发送模块603,还用于发送配置结果给北向接口模块。
99.在本技术的其他实施例中,处理模块602,还用于:
100.对报文转发的过程进行监控,生成监控数据;
101.周期性查看负载均衡集群的配置文件;
102.比较配置结果和配置文件,若存在差异,将监控数据发送至北向接口模块。
103.本技术的实施例提供一种电子设备,该电子设备可以应用于图1对应的实施例提供的方法,参照图7所示,该电子设备7(图7中的电子设备7与图6中的负载均衡装置6相对应)包括:处理器701、存储器702和通信总线703,其中:
104.通信总线703用于实现处理器701和存储器702之间的通信连接。
105.处理器701用于执行存储器702中存储的负载均衡程序,以实现以下步骤:
106.接收第一报文;
107.对所述第一报文进行虚拟扩展局域网vxlan封装,得到第二报文;其中,所述第二报文包括外层报文头字段、vxlan头字段、内层报文头字段和报文体;
108.转发所述第二报文给后端虚拟服务器。
109.在本技术的其他实施例中,所述外层报文头字段包括:外层媒体访问控制mac头、外层互联网协议ip头和外层用户数据报协议udp头;所述内层报文头字段包括内层mac头和内层ip头。
110.在本技术的其他实施例中,处理器701用于执行存储器702中存储的信息处理程序,以实现以下步骤:
111.根据所述负载均衡代理的mac地址和所述后端虚拟服务器所属物理机的mac地址,得到所述外层mac头;
112.根据所述后端虚拟服务器所属物理机的ip地址,得到所述外层ip头;
113.根据固定端口号和所述第一报文中的目的ip地址,得到所述外层udp头。
114.在本技术的其他实施例中,处理器701用于执行存储器702中存储的信息处理程序,以实现以下步骤:
115.在剥离所述第一报文的ip头时,获取所述第一报文的ip头中的目的ip地址;
116.在封装第二报文的内层ip头时,将所述目的ip地址替换为虚拟ip地址,对应写入所述内层ip头;
117.在剥离所述第一报文的原始以太帧时,获取所述第一报文的源端口号;
118.在封装第二报文的内层mac头时,将所述源端口号对应写入所述内层mac头。
119.在本技术的其他实施例中,处理器701用于执行存储器702中存储的信息处理程序,以实现以下步骤:
120.调用所述负载均衡集群中的管理工具,将所述第二报文转发至所述虚拟ip地址。
121.在本技术的其他实施例中,处理器701用于执行存储器702中存储的信息处理程序,以实现以下步骤:
122.接收所述后端虚拟服务器发送的配置结果并存储;
123.发送所述配置结果给所述北向接口模块。
124.在本技术的其他实施例中,处理器701用于执行存储器702中存储的信息处理程序,以实现以下步骤:
125.对报文转发的过程进行监控,生成监控数据;
126.周期性查看所述负载均衡集群的配置文件;
127.比较所述配置结果和所述配置文件,若存在差异,将所述监控数据发送至所述北向接口模块。
128.作为示例,处理器可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(digital signal processor,dsp),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
129.需要说明的是,本实施例中处理器所执行的步骤的具体实现过程,可以参照图1对应的实施例提供的方法中的实现过程,此处不再赘述。
130.本技术实施例所提供的电子设备,通过,可以实现接收第一报文;对第一报文进行虚拟扩展局域网vxlan封装,得到第二报文;其中,第二报文包括外层报文头字段、vxlan头字段、内层报文头字段和报文体;转发第二报文给后端虚拟服务器。这样,利用统一的接口
实现转发流量、下发各个租户配置等操作,方便管理;当业务的后端服务器是云主机的时候,通过对原始报文进行vxlan封装,能够将报文转发到后端为vpc网络内的服务器上,解决了兼容问题。
131.本技术的实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现如图1对应的实施例提供的负载均衡方法中的实现过程,此处不再赘述。
132.这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本技术存储介质和设备实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
133.上述计算机存储介质/存储器可以是只读存储器(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)等存储器;也可以是包括上述存储器之一或任意组合的各种终端,如移动电话、计算机、平板设备、个人数字助理等。
134.应理解,说明书通篇中提到的“一个实施例”或“一实施例”或“本技术实施例”或“前述实施例”或“一些实施例”或“一些实施方式”意味着与实施例有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”或“本技术实施例”或“前述实施例”或“一些实施例”或“一些实施方式”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
135.在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
136.上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
137.另外,在本技术各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
138.本技术所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组
合,得到新的方法实施例。
139.本技术所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
140.本技术所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
141.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。
142.或者,本技术上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本技术各个实施例方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、磁碟或者光盘等各种可以存储程序代码的介质。
143.值得注意的是,本技术实施例中的附图只是为了说明各个器件在终端设备上的示意位置,并不代表在终端设备中的真实位置,各器件或各个区域的真实位置可根据实际情况(例如,终端设备的结构)做出相应改变或偏移,并且,图中的终端设备中不同部分的比例并不代表真实的比例。
144.以上所述,仅为本技术的实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
技术特征:
1.一种负载均衡方法,其特征在于,所述方法应用于负载均衡集群中的负载均衡代理;所述方法包括:接收第一报文;对所述第一报文进行虚拟扩展局域网vxlan封装,得到第二报文;其中,所述第二报文包括外层报文头字段、vxlan头字段、内层报文头字段和报文体;转发所述第二报文给后端虚拟服务器。2.根据权利要求1所述的方法,其特征在于,所述外层报文头字段包括:外层媒体访问控制mac头、外层互联网协议ip头和外层用户数据报协议udp头;所述内层报文头字段包括内层mac头和内层ip头。3.根据权利要求2所述的方法,其特征在于,对所述第一报文进行vxlan封装,得到第二报文,包括:剥离所述第一报文的mac头字段和ip头字段,得到所述mac头字段和ip头字段中包含的信息,以及所述第一报文的报文体;对所述ip头字段中包含的信息进行更改,得到所述第一报文对应的虚拟ip地址;结合所述第一报文的mac头字段和更改后的ip头字段,得到所述内层报文头字段;为所述第一报文的报文体依次封装所述外层报文头字段、所述vxlan头字段和所述内层报文头字段,得到所述第二报文。4.根据权利要求3所述的方法,其特征在于,所述为所述第一报文的报文体依次封装所述外层报文头字段、所述vxlan头字段和所述内层报文头字段,得到所述第二报文之前,还包括:根据所述负载均衡代理的mac地址和所述后端虚拟服务器所属物理机的mac地址,得到所述外层mac头;根据所述后端虚拟服务器所属物理机的ip地址,得到所述外层ip头;根据固定端口号和所述第一报文中的目的ip地址,得到所述外层udp头。5.根据权利要求3或4所述的方法,其特征在于,所述为所述第一报文的报文体依次封装所述外层报文头字段、所述vxlan头字段和所述内层报文头字段,得到所述第二报文,包括:按照所述外层mac头、所述外层ip头、所述外层udp头、所述vxlan头字段、所述内层mac头和所述内层ip头的顺序,将所述第一报文的报文体依次封装,得到所述第二报文。6.根据权利要求3所述的方法,其特征在于,所述转发所述第二报文给后端虚拟服务器,包括:调用所述负载均衡集群中的管理工具,将所述第二报文转发至所述虚拟ip地址。7.根据权利要求1所述的方法,其特征在于,所述转发所述第二报文给后端虚拟服务器之后,还包括:接收所述后端虚拟服务器发送的配置结果并存储;发送所述配置结果给所述北向接口模块。8.根据权利要求7所述的方法,其特征在于,所述方法还包括:对报文转发的过程进行监控,生成监控数据;周期性查看所述负载均衡集群的配置文件;
比较所述配置结果和所述配置文件,若存在差异,将所述监控数据发送至所述北向接口模块。9.一种负载均衡装置,其特征在于,所述装置应用于负载均衡集群中的负载均衡代理;所述装置包括:接收模块,用于接收第一报文;处理模块,用于对所述第一报文进行vxlan封装,得到第二报文;其中,所述第二报文包括外层报文头字段、vxlan头字段、内层报文头字段和报文体;发送模块,用于转发所述第二报文给后端虚拟服务器。10.一种电子设备,其特征在于,包括:处理器以及存储有所述处理器可执行指令的存储介质;所述存储介质通过通信总线依赖所述处理器执行操作,当所述指令被所述处理器执行时,执行上述的权利要求1至8任一项所述的负载均衡方法。
技术总结
本申请公开了一种负载均衡方法,该方法包括:接收第一报文;对第一报文进行VXLAN封装,得到第二报文;其中,第二报文包括外层报文头字段、VXLAN头字段、内层报文头字段和报文体;转发第二报文给后端虚拟服务器。本申请同时还公开了一种负载均衡装置及电子设备。本申请提供的负载均衡方法,实现了利用统一的接口实现转发流量、下发各个租户配置等操作,方便管理;并且,能够将报文转发到VPC网络内的后端虚拟服务器上,解决了兼容问题。解决了兼容问题。解决了兼容问题。
技术研发人员:周志洪 袁昌斌
受保护的技术使用者:中国移动通信集团有限公司
技术研发日:2022.09.16
技术公布日:2023/9/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:车辆的空调的制作方法 下一篇:一种改性燃料电池质子交换膜制备用的在线压制成型设备