分布负载平衡器系统和负载平衡方法技术方案

技术编号:12813870 阅读:86 留言:0更新日期:2016-02-05 13:49
一种分布负载平衡器,其中路由器从至少一个客户端接收封包,并且将封包流路由至多个进入服务器。针对未知封包流,进入服务器配合主要流量跟踪器和次要流量跟踪器来建立至服务器节点的连接。针对已知封包流,所述进入服务器将所述封包发送至目标服务器节点。所述服务器节点随机地选择用于所述封包流的传出封包的外出服务器。所述进入服务器、流量跟踪器和外出服务器通过负载平衡器节点层中的多个负载平衡器节点实现。用于给定封包流的所述进入服务器和外出服务器可处于不同的负载平衡器节点上。所述负载平衡器节点可使用一致哈希函数来根据封包流客户端/公共端点对计算用于所述节点的一致哈希环,从而可以定位与给定封包流相关联的节点。

【技术实现步骤摘要】
【国外来华专利技术】分布负载平衡器系统和负载平衡方法
本专利技术涉及计算机网络,具体地说,涉及在冗余负载平衡节点和服务器节点之间对客户端请求进行负载平衡。
技术介绍
常规负载平衡器通常为单一、专门盒,其包括多个网络接口控制器(NIC),例如八个NIC,其中NIC中的一些操控来自客户端的进入流量/到客户端的外出流量而其他NIC操控来自正在负载平衡的主机装置(例如,服务器如网络服务器)的传出流量/到主机装置的传入流量。这些常规负载平衡器上的带宽或通量通常在客户端侧上为40吉比特/秒(Gbps)而在服务器侧上为40Gbps的范围。随着基于网络的应用和基于网络的服务如云计算服务的规模和范围增加,数据中心可容纳数百或甚至数千个需要负载平衡的主机装置(例如,网络服务器)。常规负载平衡器在这类环境中可能不会较好地调整。此外,常规负载平衡器通常使用应用于从主机装置收集的数据以选择哪一个主机装置将操控连接的技术例如最大连接(或maxconns)、循环和/或最小连接(leastconns)。另外,常规负载平衡器通常充当其在前面的主机装置的代理,且因而终止来自客户端的连接(例如,传输控制协议(TCP)连接)并且在主机装置与负载平衡器之间建立的TCP连接上将客户端流量发送至主机装置。因此,在使用这些常规负载平衡器时,主机装置和客户端不在直接TCP连接上通信。
技术实现思路
本专利技术包括用于在多个负载平衡节点和服务器节点之间对客户端请求进行负载平衡的系统和方法。一种分布式负载平衡器包括路由器,该路由器从至少一个客户端接收封包并把封包流路由到多个进入服务器。对于未知的封包流,进入服务器与主要流跟踪器以及次要流跟踪器协作以建立至服务器节点的连接。对于已知的封包流,进入服务器把所述封包发送至目标服务器节点。服务器节点为封包流的外出封包随机选择外出服务器。进入服务器、流跟踪器和外出服务器由负载平衡器节点层中的多个服务器平衡器节点实现。用于给定封包流的进入服务器和外出服务器可以在不同的负载平衡器节点上。所述负载平衡器节点可使用一致哈希函数来根据封包流客户端/公共端点对计算用于所述节点的一致哈希环,从而可以定位与给定封包流相关联的节点。附图说明图1是根据至少一些实施方案的示例性分布负载平衡系统的方框图。图2是根据至少一些实施方案的可由图1的分布负载平衡器系统实施的负载平衡法的较高水平流程图。图3示出根据至少一些实施方案的包括进入、外出和流量跟踪器部件的示例性负载平衡器节点。图4示出根据至少一些实施方案的分布负载平衡器中的路由和封包流。图5示出根据至少一些实施方案的将进入节点向边缘路由器公布。图6是根据至少一些实施方案的多路径路由方法的流程图。图7图形化示出根据至少一些实施方案的不对称封包流。图8示出根据至少一些实施方案的分布负载平衡系统中的封包流。图9A和9B提供根据至少一些实施方案的在分布负载平衡系统中建立连接时的封包流的流程图。图10A至10G示出根据至少一些实施方案的分布负载平衡系统中的封包流。图11A至11D示出根据至少一些实施方案的影响负载平衡器节点一致哈希环中的成员关系的事件的操控。图12是根据至少一些实施方案的可根据健康检查间隔由每个负载平衡器节点执行的健康检查方法的较高水平流程图。图13示出根据至少一些实施方案的从另一个负载平衡器节点对一个负载平衡器节点进行健康检查的方法。图14图形化示出根据至少一些实施方案的一个负载平衡器节点对一个或多个其他负载平衡器节点进行健康检查。图15示出根据至少一些实施方案的负载平衡器节点对服务器节点进行健康检查。图16图形化示出根据至少一些实施方案的可由负载平衡器节点110保持的另一个节点的健康状况的视图。图17示出根据至少一些实施方案的可由每个负载平衡器节点保持的健康信息。图18A和18B示出根据至少一些实施方案的操控负载平衡器节点失效。图19A和19B图形化示出根据至少一些实施方案的连接发布技术。图20是根据至少一些实施方案的可由每个负载平衡器模块执行的连接发布方法的较高水平流程图。图21是根据至少一些实施方案的将在连接发布封包中接收的活动连接信息分配至目标负载平衡器节点的方法的流程图。图22示出根据至少一些实施方案的将在连接发布封包中接收的活动连接信息分配至目标负载平衡器节点的替代方法。图23示出根据至少一些实施方案的负载平衡器节点的示例性软件堆栈架构。图24示出可在实施方案中使用的核心封包处理技术的方面。图25示出根据至少一些实施方案的处理负载平衡器节点上的数据流的示例性多核心封包处理器。图26示出根据至少一些实施方案的处理负载平衡器节点上的数据流的另一个示例性多核心封包处理器。图27示出根据至少一些实施方案的通过负载平衡器节点过程对传入封包的处理。图28示出根据至少一些实施方案的通过负载平衡器节点过程对传出封包的处理。图29示出根据至少一些实施方案的包括生产环境中的分布负载平衡器的负载平衡系统。图30示出根据至少一些实施方案的分布负载平衡器测试系统,其并入消息总线机构,所述机构使得多个分布负载平衡系统部件能够配置并执行于单一过程中或作为单一过程。图31和32示出根据至少一些实施方案的消息总线封包适配器和封包管线。图33A示出根据至少一些实施方案的示例性提供者网络环境。图33B示出根据至少一些实施方案的如图33A展示的示例性提供者网络环境中的分布负载平衡器实行方案。图34A示出根据至少一些实施方案的分布负载平衡器和服务器节点的示例性物理机架实行方案。图34B示出根据至少一些实施方案的分布负载平衡器和服务器节点的另一个示例性物理机架实行方案。图35示出根据至少一些实施方案的一个、两个或更多个分布负载平衡器实施于网络中的示例性连网环境。图36是示出可以在一些实施方案中使用的示例性计算机系统的框图。虽然在本文中通过列举若干实施方案和示意性附图的实例的方式描述了实施方案,本领域的技术人员应认识到,实施方案并不限于所描述的实施方案或附图。应理解,附图和对其的详细描述并非意图将实施方案限于所公开的特定形式,而是相反,其意图在于涵盖落入由所附权利要求书所界定的精神和范围内的所有修改、等同物以及替代方案。本文中使用的任何标题都仅用于组织目的,并且并不意图用于限制描述或权利要求书的范围。如贯穿本申请所用,词语“可”是以允许意义(即,意味着有可能)而不是强制意义(即,意味着必须)使用。类似地,词语“包括(include/including/includes)”表示包括但不限于。具体实施方式描述网络环境中的分布负载平衡的方法和系统的各种实施方案。描述可根据各种网络环境中的分布负载平衡器的实施方案来实施的分布负载平衡法和系统的实施方案。分布负载平衡器的实施方案可例如用于促进和保持外部网络如互联网上的客户端与局部网络,例如如图33A和33B示出的提供者网络1900上的目的地,通常为服务器(例如,网络服务器、应用服务器、数据服务器等)之间的封包流,例如传输控制协议(TCP)技术封包流。虽然本文主要关于处理TCP封包流来描述实施方案,但是应注意实施方案可应用于除了TCP以外的其他数据通信协议,以及除了处理封包流以外的其他应用。分布负载平衡器可用于促进和保持具体客户端与选定服务器(例如,网络服务器)之间的TCP封包流。然而,分布负载本文档来自技高网...

【技术保护点】
一种分布负载平衡器系统,包括:多个负载平衡器节点,其中所述多个负载平衡器节点中的至少两个被配置为进入服务器,并且其中所述多个负载平衡器节点中的至少两个被配置为流跟踪器节点;多个服务器节点;和路由器,被配置来根据哈希多路径路由技术将来自一个或多个客户端的封包流分布至所述进入服务器;其中每一个进入服务器被配置来:从所述路由器接收客户端的封包流中的封包;确定所述进入服务器不具有所述封包流至所述多个服务器节点的映射;根据应用于所述封包的源和目的地地址信息的一致哈希函数来确定所述封包流的至少一个流跟踪器节点;从所述至少一个流跟踪器节点获得所述封包流的至所述多个服务器节点中的特定一个的连接的映射;并且将所述封包流中的一个或多个封包发送至所述特定服务器节点。

【技术特征摘要】
【国外来华专利技术】2013.04.16 US 13/864,1571.一种分布负载平衡器系统,包括:多个负载平衡器节点,其中所述多个负载平衡器节点中的至少两个被配置为进入服务器,并且其中所述多个负载平衡器节点中的至少两个被配置为流跟踪器节点;多个服务器节点;和路由器,被配置来根据哈希多路径路由技术将来自一个或多个客户端的封包流分布至所述进入服务器;其中每一个进入服务器被配置来:从所述路由器接收客户端的封包流中的封包;确定所述进入服务器不具有所述封包流至所述多个服务器节点的映射;根据应用于所述封包的源和目的地地址信息的一致哈希函数来确定所述封包流的至少一个流跟踪器节点;从所述至少一个流跟踪器节点获得所述封包流的至所述多个服务器节点中的特定一个的连接的映射;并且将所述封包流中的一个或多个封包发送至所述特定服务器节点。2.如权利要求1所述的分布负载平衡器系统,其中所述封包流为传输控制协议封包流。3.如权利要求1所述的分布负载平衡器系统,其中所述多个负载平衡器节点中的至少两个被配置为外出服务器,所述外出服务器被配置来将传出封包从所述服务器节点发送至所述一个或多个客户端,其中所述服务器节点被配置来:选择所述外出服务器中的一个以用于所述封包流;并且将所述封包流的一个或多个传出封包发送至所选择的外出服务器;其中所述外出服务器被配置将所述传出封包发送至所述客户端;并且其中用于所述封包流的所选择的外出服务器是与用于所述封包流的所述进入服务器不同的负载平衡器节点。4.如权利要求3所述的分布负载平衡器系统,其中所述进入服务器在将所述封包发送至所述服务器节点之前根据用户数据报协议UDP封装所述一个或多个封包,其中所述服务器节点在将所述传出封包发送至所述外出服务器之前根据UDP封装所述传出封包,并且其中所述外出服务器在将所述传出封包发送至所述客户端之前从所述传出封包剥除UDP封装。5.如权利要求4所述的分布负载平衡器系统,其中所述服务器节点包括负载平衡器模块,所述负载平衡器模块被配置来:选择所述外出服务器以用于所述封包流;从所述进入服务器接收传入封装封包;从所述封包剥除所述UDP封装,并且将所述封包递送至所述服务器节点上的服务器;从所述服务器节点上的所述服务器获得所述传出封包;根据UDP封装所述传出封包;并且将所封装的传出封包发送至所述外出服务器。6.如权利要求1所述的分布负载平衡器系统,其中,为了从所述至少一个流跟踪器节点获得所述封包流的至所述多个服务器节点中的特定一个的连接的映射,所述进入服务器将包括所述封包流的信息的消息发送至用于所述封包流的主要流跟踪器;所述主要流跟踪器将消息发送至用于所述封包流的次要流跟踪器,所述消息包括所述封包流的所述信息,其中用于所述封包流的所述主要流跟踪器和所述次要流跟踪器是不同的负载平衡器节点;所述次要流跟踪器将对所述封包流的确认发送至所述客户端;所述进入服务器从所述客户端接收确认封包,并且将所述确认封包转发至所述主要流跟踪器;所述主要流跟踪器从所述多个服务器节点中随机地选择所述特定服务器节点作为接收所述封包流的服务器节点,并且将指示所述特定服务器节点的消息发送至所述次要流跟踪器;所述次要流跟踪器编制同步消息,并且将所编制的同步消息发送至所述特定服务器节点;所述次要流跟踪器从所述特定服务器节点接收用于所述封包流的连接信息,并且将包括所述连接信息的消息发送至所述主要流跟踪器;并且所述主要流跟踪器将包括用于所述封包流的所述连接信息的消息发送至所述进入服务器,其中所述连接信息将所述封包流映射至所述特定服务器节点。7.如权利要求6所述的分布负载平衡器系统,其中所述服务器节点包括负载平衡器...

【专利技术属性】
技术研发人员:J·C·索伦森三世D·S·劳伦斯V·斯里尼瓦森A·S·瓦佳张帆
申请(专利权)人:亚马逊科技公司
类型:发明
国别省市:美国;US

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

1