在负载均衡连接上具有虚拟VIP和源代理的非DSR分布式负载均衡器制造技术

技术编号:23866870 阅读:43 留言:0更新日期:2020-04-18 17:37
用于连接的负载均衡的方法和设备可以包括:在计算机设备上的容器主机上的管理组件处基于所述数据分组的目的地IP地址接收至少一个数据分组,其中所述目的地IP地址对应于多个容器主机。所述方法和设备可以包括:从所述计算机设备和通过虚拟网络与所述计算机设备通信的其他计算机设备上的至少一个容器主机选择目的地容器,以均衡数据负载;以及将所述至少一个数据分组的所述源IP地址转换为所述容器主机的本地IP地址。所述方法和设备可以包括:将所述至少一个数据分组的所述目的IP地址改变为所选目的容器的虚拟IP地址,使得所述至少一个数据分组被变换为代理数据分组。

Non DSR distributed load balancer with virtual VIP and source agent on load balancing connection

【技术实现步骤摘要】
【国外来华专利技术】在负载均衡连接上具有虚拟VIP和源代理的非DSR分布式负载均衡器
技术介绍
本公开涉及负载均衡。通常,计算机设备通过选择数据分组的目的地和/或尝试均衡在网络上通信的若干节点之间的数据分组的负载,在计算机设备的TCP/IP层上路由数据分组。随着数据分组在堆栈中的处理更高,处理时间可能会增加。因此,在本领域中需要改进负载均衡。
技术实现思路
以下呈现了本公开的一个或多个实现的简化的
技术实现思路
,以便于提供对这种实现的基本理解。本
技术实现思路
不是所有预期实现的广泛概述,并且既不旨在标识所有实现的关键或重要元素,也不旨在描绘任意或所有实现的范围。其唯一目的是以简化的形式呈现本公开的一个或多个实现的一些概念,作为稍后呈现的更详细描述的序言。一个示例实现涉及一种计算机设备。该计算机设备可以包括用于存储数据和指令的存储器、与该存储器通信的处理器、与计算机设备的虚拟交换机相关联的管理组件,该虚拟交换机和该存储器和处理器通信,其中该管理组件可操作用于:基于数据分组的目的地IP地址,在计算机设备上的容器主机处接收至少一个数据分组,其中该目的IP地址对应于多个容器主机;在容器主机的数据链路层处,从计算机设备和通过虚拟网络与计算机设备通信的其他计算机设备中的至少一个容器主机中选择目的地容器,以均衡数据负载;在数据链路层处将至少一个数据分组的源IP地址转换为容器主机的本地IP地址;并且在所述数据链路层处,将所述至少一个数据分组的所述目的地IP地址改变为所选目的容器的虚拟IP地址,使得所述至少一个数据分组被变换为代理数据分组,所述代理数据分组具有所述目的地容器的所述虚拟IP地址的目的地地址和所述容器主机的所述本地IP地址的源地址。另一示例实现涉及一种用于连接的负载均衡的方法。该方法可以包括在计算机设备上的容器主机上的管理组件处,基于数据分组的目的地IP地址接收至少一个数据分组,其中目的地IP地址对应于多个容器主机。该方法还可以包括在容器主机的数据链路层处,从计算机设备和通过虚拟网络与计算机设备通信的其他计算机设备上的至少一个容器主机中选择目的地容器,以均衡数据负载。该方法还可以包括在数据链路层处将至少一个数据分组的源IP地址转换为容器主机的本地IP地址。该方法还可以包括在所述数据链路层处,将所述至少一个数据分组的所述目的IP地址改变为所选目的容器的虚拟IP地址,使得所述至少一个数据分组被变换为代理数据分组,所述代理数据分组具有所述目的地容器的所述虚拟IP地址的目的地地址和所述容器主机的所述本地IP地址的源地址。另一示例实现涉及存储由计算机设备可执行的指令的计算机可读介质。所述计算机可读介质可以包括至少一条指令,用于使所述计算机设备基于所述数据分组的目的地IP地址在计算机设备上的容器主机处接收至少一个数据分组,其中所述目的地IP地址对应于多个容器主机。所述计算机可读介质可以包括至少一个指令,用于使所述计算机设备:在容器主机的数据链路层处,从计算机设备和通过虚拟网络与计算机设备通信的其他计算机设备上的至少一个容器主机中选择目的地容器,以均衡数据负载。所述计算机可读介质可以包括至少一个指令,用于使所述计算机设备:在数据链路层处将至少一个数据分组的源IP地址转换为容器主机的本地IP地址。所述计算机可读介质可以包括至少一个指令,用于使所述计算机设备:在所述数据链路层处,将所述至少一个数据分组的所述目的IP地址改变为所选目的容器的虚拟IP地址,使得所述至少一个数据分组被变换为代理数据分组,所述代理数据分组具有所述目的地容器的所述虚拟IP地址的目的地地址和所述容器主机的所述本地IP地址的源地址。与本公开的实现有关的其他优点和新颖特征将在下面的描述中部分地阐述,并且对于本领域技术人员而言,在对以下内容进行检查或通过其实践学习后,将变得更加显而易见。附图说明在附图中:图1是根据本公开的实现的示例计算机设备的示意性框图;图2是根据本公开的实现的在计算机设备上操作的示例管理组件的示意框图;图3是根据本公开的实现的用于连接的负载均衡的示例方法流程;图4示出了根据本公开的实现的作为负载均衡的示例而发生的对寻址格式的示例改变;以及图5是根据本公开的实现的示例计算机设备的示意性框图。具体实施方式本公开涉及用于通过虚拟数据网络在数据链路层(例如第2层)处进行通信的多个计算机设备、容器、虚拟机或任意运行时环境之间的连接的负载均衡的设备和方法。该设备和方法可以包括例如操作每个计算机设备上的一个或多个容器的容器主机。容器可以包括例如彼此独立的自包含应用以及在计算机设备上在容器外部执行的其他进程。容器主机可以包括虚拟交换机和与虚拟交换机相关联的管理组件,该管理组件可操作用于将从客户端接收的数据分组从容器主机路由到所选容器目的地以用于处理。管理组件可以应用一个或多个负载均衡规则来确定哪个容器可以接收数据分组,使得数据分组可以跨虚拟网络的容器被分发。另外,管理组件可以充当客户端的代理,并使用因特网协议第2层(例如数据链路层)上的虚拟IP地址与容器高效交换与分组相关的通信。特别地,管理组件可以将传输数据分组的客户端的源IP地址变换为分配给容器主机的本地化IP地址。在数据链路层(或第2层)之外,本地化IP地址可能不可见。这样,容器主机的本地化IP地址可以被完全虚拟化,并且不被配置在容器主机的IP层(例如第3层)或传输层(例如第4层)中,从而避免了上层处理。另外,管理组件可以将数据分组的目的IP地址变换为所选目的容器的虚拟IP地址,以将数据分组传输到目的容器。这样,管理组件可以使用第2层源和目的地寻址将所接收的数据分组跨通过虚拟网络通信的容器主机上运行的任意容器分发。管理组件可以从选定的目的地容器接收相应的响应分组,并且可以应用一个或多个规则来变换响应分组的源和目的地寻址,以传输回客户端。换句话说,设备和方法在第2层而不是第3层中执行负载均衡决策。此外,设备和方法在第2层中执行源IP的代理。通过在容器主机网络的数据链路层处进行执行分布式负载均衡和代理消息交换,可以通过减少处理每个数据分组所需的CPU周期数目来改进系统处理。此外,可以增加数据吞吐量。现在参考图1,示出了示例负载均衡系统100,其可以分发从一个或多个客户端110所接收的数据分组34,该客户端110通过外部网络104与计算机设备102、106进行通信。在一个实现中,系统100可以使用非直接服务器返回(DSR)分布式负载均衡来均衡从一个或多个客户端110所接收的数据分组34。负载均衡器可以分布在通过虚拟网络108进行通信的所有节点上。在一个示例中,系统100可以包括通过虚拟网络108进行通信的一个或多个计算机设备102、106。每个计算机设备102、106可以分别包括容器主机10、12,容器主机10、12分别由计算机设备102、106的处理器30、33和/或存储器31、32执行。存储器31、32可以被配置用于存储定义和/或与容器主机10、12相关联的数据和/或计算机可执行指令,并且处理器30、3本文档来自技高网...

【技术保护点】
1.一种计算机设备,包括:/n存储器,用以存储数据和指令;/n处理器,与所述存储器通信;/n管理组件,与所述计算机设备的虚拟交换机相关联,所述虚拟交换机与所述存储器和所述处理器通信,其中所述管理组件可操作以:/n基于所述数据分组的目的地IP地址,在计算机设备上的容器主机处接收至少一个数据分组,其中所述目的地IP地址对应于多个容器主机;/n在所述容器主机的所述数据链路层处,从所述计算机设备和通过虚拟网络与所述计算机设备通信的其他计算机设备上的至少一个容器主机中选择目的地容器,以均衡数据负载;/n在所述数据链路层处将所述至少一个数据分组的源IP地址转换为所述容器主机的本地IP地址;以及/n在所述数据链路层处,将所述至少一个数据分组的所述目的地IP地址改变为所选择的所述目的地容器的虚拟IP地址,使得所述至少一个数据分组被变换为代理数据分组,所述代理数据分组具有所述目的地容器的所述虚拟IP地址的目的地地址和所述容器主机的所述本地IP地址的源地址。/n

【技术特征摘要】
【国外来华专利技术】20170831 US 62/552,806;20171221 US 15/851,1201.一种计算机设备,包括:
存储器,用以存储数据和指令;
处理器,与所述存储器通信;
管理组件,与所述计算机设备的虚拟交换机相关联,所述虚拟交换机与所述存储器和所述处理器通信,其中所述管理组件可操作以:
基于所述数据分组的目的地IP地址,在计算机设备上的容器主机处接收至少一个数据分组,其中所述目的地IP地址对应于多个容器主机;
在所述容器主机的所述数据链路层处,从所述计算机设备和通过虚拟网络与所述计算机设备通信的其他计算机设备上的至少一个容器主机中选择目的地容器,以均衡数据负载;
在所述数据链路层处将所述至少一个数据分组的源IP地址转换为所述容器主机的本地IP地址;以及
在所述数据链路层处,将所述至少一个数据分组的所述目的地IP地址改变为所选择的所述目的地容器的虚拟IP地址,使得所述至少一个数据分组被变换为代理数据分组,所述代理数据分组具有所述目的地容器的所述虚拟IP地址的目的地地址和所述容器主机的所述本地IP地址的源地址。


2.根据权利要求1所述的计算机设备,其中所述数据分组的所述目的地地址对应于源容器主机的物理网络地址或所述源容器主机的虚拟IP地址。


3.根据权利要求1所述的计算机设备,其中本地IP地址是虚拟化寻址的并且被包含在所述数据链路层内。


4.根据权利要求1所述的计算机设备,其中所述管理组件还可操作以:
从所选择的所述目的容器接收与所述至少一个数据分组相对应的代理数据响应分组;
基于所述数据响应分组的所述目的地地址,标识最初传输所述至少一个数据分组的客户端;以及
将所述代理数据响应分组变换为数据响应分组,所述数据响应分组将所述客户端的源地址标识为所述数据响应分组的所述目的地地址。


5.根据权利要求4所述的计算机设备,其中所述管理组件还可操作以:通过应用一个或多个规则以逆转对所述代理数据响应分组的目的地地址的所述改变来变换所述代理数据响应分组。


6.根据权利要求1所述的计算机设备,其中所述管理组件还可操作以:通过应用一个或多个负载均衡规则来选择所述目的地容器。


7.根据权利要求6所述的计算机设备,其中所述一个或多个负载均衡规则包括以下项中的一项或多项:涉及阈值的负载均衡、涉及平均使用的负载均衡、源哈希负载均衡、轮询负载均衡;以及最少连接数目负载均衡。


8.一种用于连接的负载均衡的方法,包括:
在计算机设备上的容器主机上的管理组件处基于所述数据分组的目的地IP地址接收至少一个数据分组,其中所述目的地IP地址对应于多个容器主机;
在所述容...

【专利技术属性】
技术研发人员:V·阿罗拉D·K·戈文达萨米M·R·穆堪迪S·班萨尔N·D·伍德G·库德莱维特塞弗
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1