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

技术编号:12808325 阅读:134 留言:0更新日期:2016-02-05 07:57
一种分布负载平衡器,其中路由器从至少一个客户端接收封包,并且根据每流哈希多路径路由技术将封包流路由至多个负载平衡器(LB)节点。对给定封包流来说,所述LB节点从多个服务器节点中随机选择服务器节点作为用于所述封包流的目标,并且将连接请求发送至所述服务器节点。所述服务器节点上的负载平衡器模块基于指示相应服务器的当前负载的一个或多个量度来做出关于是否接受或拒绝所述连接的决定。如果所述模块接受所述连接请求,那么在所述服务器与所述客户端之间建立连接。否则,所述负载平衡器节点可选择另一个服务器节点并且再次尝试。客户端与服务器之间建立的所述连接通过所述负载平衡器节点,但不在所述负载平衡器节点处终止。

【技术实现步骤摘要】
【国外来华专利技术】用于分布负载平衡的方法和分布负载平衡器系统
本公开涉及用于分布负载平衡的方法和分布负载平衡器系统。
技术介绍
常规负载平衡器通常为单一、专门盒,其包括多个网络接口控制器(NIC),例如八个NIC,其中NIC中的一些操控来自客户端的进入流量/到客户端的外出流量而其他NIC操控来自正在负载平衡的主机装置(例如,服务器如网络服务器)的传出流量/到主机装置的传入流量。这些常规负载平衡器上的带宽或通量通常在客户端侧上为40吉比特/秒(Gbps)而在服务器侧上为40Gbps的范围。随着基于网络的应用和基于网络的服务如云计算服务的规模和范围增加,数据中心可容纳数百或甚至数千个需要负载平衡的主机装置(例如,网络服务器)。常规负载平衡器在这类环境中可能不会较好地调整。此外,常规负载平衡器通常使用应用于从主机装置收集的数据以选择哪一个主机装置将操控连接的技术例如最大连接(或maxconns)、循环和/或最小连接(leastconns)。另外,常规负载平衡器通常充当其在前面的主机装置的代理,且因而终止来自客户端的连接(例如,传输控制协议(TCP)连接)并且在主机装置与负载平衡器之间建立的TCP连接上将客户端流量发送至主机装置。因此,在使用这些常规负载平衡器时,主机装置和客户端不在直接TCP连接上通信。
技术实现思路
本专利技术的实施例提供了一种分布负载平衡器系统。该系统包括:多个负载平衡器节点;和多个服务器节点,每一个服务器节点包括服务器和负载平衡器模块;其中所述多个负载平衡器节点被配置来在所述多个服务器节点中分布来自一个或多个客户端的封包流,其中,为在所述多个服务器节点中分布所述封包流,所述多个负载平衡器节点被配置来:从所述多个服务器节点中选择服务器节点来接收针对来自所述客户端的所述封包流的连接请求;并且将所述连接请求发送至所述所选择的服务器节点;其中每一个服务器节点上的所述负载平衡器模块被配置来:接收针对来自所述多个负载平衡器节点中的一个的封包流的连接请求;确定所述连接是否将被所述服务器节点上的所述服务器接受;如果所述服务器无法接受所述连接,那么拒绝所述连接请求;如果所述服务器能接受所述连接,那么与所述多个负载平衡器节点配合来在相应客户端与相应服务器之间建立用于所述封包流的连接;选择所述多个负载平衡器节点中的一个担当接收用于连接的传出流量的外出服务器,其中所述选择至少部分地基于所述客户端和所述服务器之间的所述封包流的识别符;并且拦截所述连接上的传出IP封包,对所述传出IP封包进行封装,并把所述IP封包发送到所选择的外出服务器。附图说明图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上的目的地,通常为服务器(例本文档来自技高网...

【技术保护点】
一种分布负载平衡器系统,其包括:多个负载平衡器节点;和多个服务器节点,其每一个包括服务器和负载平衡器模块;其中所述多个负载平衡器节点被配置来在所述多个服务器节点中分布来自一个或多个客户端的封包流,其中,为在所述多个服务器节点中分布所述封包流,所述多个负载平衡器节点被配置来:从所述多个服务器节点中选择服务器节点来接收针对来自所述客户端的所述封包流的连接请求;并且将所述连接请求发送至所述所选择的服务器节点;其中每一个服务器节点上的所述负载平衡器模块被配置来:接收针对来自所述多个负载平衡器节点中的一个的封包流的连接请求;确定所述连接是否将通过所述服务器节点上的所述服务器接受;如果所述服务器无法接受所述连接,那么拒绝所述连接请求;并且如果所述服务器可接受所述连接,那么与所述多个负载平衡器节点配合来在所述相应客户端与所述相应服务器之间建立用于所述封包流的连接。

【技术特征摘要】
【国外来华专利技术】2013.04.16 US 13/864,1671.一种分布负载平衡器系统,包括:多个负载平衡器节点;和多个服务器节点,每一个服务器节点包括服务器和负载平衡器模块;其中所述多个负载平衡器节点被配置来在所述多个服务器节点中分布来自一个或多个客户端的封包流,其中,为在所述多个服务器节点中分布所述封包流,所述多个负载平衡器节点被配置来:从所述多个服务器节点中选择服务器节点来接收针对来自所述客户端的所述封包流的连接请求;并且将所述连接请求发送至所述所选择的服务器节点;其中每一个服务器节点上的所述负载平衡器模块被配置来:接收针对来自所述多个负载平衡器节点中的一个的封包流的连接请求;确定所述连接是否将被所述服务器节点上的所述服务器接受;如果所述服务器无法接受所述连接,那么拒绝所述连接请求;如果所述服务器能接受所述连接,那么与所述多个负载平衡器节点配合来在相应客户端与相应服务器之间建立用于所述封包流的连接;选择所述多个负载平衡器节点中的另一个担当接收用于连接的传出流量的外出服务器,其中所述选择至少部分地基于所述客户端和所述服务器之间的所述封包流的识别符;并且拦截所述连接上的传出IP封包,对所述传出IP封包进行封装,并把所述IP封包发送到所选择的外出服务器。2.如权利要求1所述的分布负载平衡器系统,还包括路由器,其被配置来根据哈希多路径路由技术在所述多个负载平衡器节点中分布来自所述一个或多个客户端的所述封包流。3.如权利要求1所述的分布负载平衡器系统,其中,为确定所述连接是否将被所述服务器节点上的所述服务器接受,所述负载平衡器模块被配置来分析所述服务器节点上的所述服务器的一个或多个当前资源使用量度,以确定所述服务器是否可接受所述连接,其中所述一个或多个当前资源使用量度包括下列各项中的一个或多个:CPU使用率、带宽消耗、服务器延时和所建立连接的数目。4.如权利要求1所述的分布负载平衡器系统,其中所述多个负载平衡器节点还被配置来从所述多个服务器节点中选择另一个服务器节点来接收所拒绝的连接请求,并且将所述连接请求发送至所述另一个服务器节点。5.如权利要求1所述的分布负载平衡器系统,其中客户端与服务器之间建立的每一个连接起始于所述客户端,通过所述多个负载平衡器节点中的一个或多个,并且通过所述服务器终止。6.一种用于分布负载平衡的方法,包括:通过多个负载平衡器节点中的一个或多个执行:接收客户端的封包流中的封包;和将针对所述封包流的连接请求发送至选自多个服务器节点中的服务器节点;通过所选择的服务器节点执行:确定所述服务器节点上的服务器是否能接受所述连接;在确定所述服务器不能接受所述连接之后拒绝所述连接请求;在确定所述服务器能接受所述连接之后接受所述连接请求,其中所述接受所述连接请求包括所选择的服务器节点与所述一个或多个负载平衡器节点配合来在相应客户端与相应服务器之间建立用于所述封包流的连接;选择所述多个负载平衡器节点中...

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

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

1