用于服务链负载平衡的系统和方法技术方案

技术编号:20022871 阅读:31 留言:0更新日期:2019-01-06 03:02
本公开涉及服务链负载平衡的系统和方法。客户机和计算基础结构中间的控制器识别多个服务链。多个服务链中的每一个包括具有由计算基础结构提供的第一服务的实例和由计算基础结构提供的第二服务的实例的路径。控制器确定多个服务链中的每个服务链的路径权重。路径权重表示根据服务链提供服务的效率水平。控制器基于负载平衡函数和多个服务链中的每一个的路径权重,从所述多个服务链中选择服务链以引导来自客户机的网络流量。

【技术实现步骤摘要】
【国外来华专利技术】用于服务链负载平衡的系统和方法相关申请本申请要求在2016年4月29日提交的、名称为“SYSTEMANDMETHODFORSERVICECHAINLOADBALANCING”的美国非临时申请No.15/143,181的权益和优先权,通过引用将该美国申请全部包含于此,以用于所有目的。
本申请总地涉及计算基础结构中的负载平衡服务链。特别地,本申请涉及使用与服务链的实例相关的元数据来对服务链进行负载平衡的系统和方法。
技术介绍
客户机装置可以访问或使用经由包括一个或多个服务器的云环境提供的应用、服务或基础结构。客户机装置可以经由中间装置访问云环境或一个或多个服务器,该中间装置在客户机装置和服务器的中间。然而,服务实例可以分布在云环境中的多个区域或可用性区带(zone)中。为在云环境中分布的实例有效率地提供服务可能具有挑战性,因为实例的分布会影响开销、成本、延迟、吞吐量或负载。
技术实现思路
本公开涉及用于经由网络管理基于云的服务的系统和方法。在包括一个或多个网络环境中的一个或多个处理器或服务器的计算基础结构中,服务的实例可以分布在多个区域、可用性区带等中。计算基础结构可以包括云环境,诸如基础设施即服务(IaaS)环境、软件即服务(SaaS)环境、或平台即服务(PaaS)环境。IaaS环境可以指云计算,其中共享的计算资源、数据和信息按需提供给计算装置。计算基础结构可以包括多跳处理部署(例如,服务链)。在多跳处理部署中,每跳可以是负载平衡系统。然而,每个跳级或服务节点级别的负载平衡可能不会导致全局最佳的多跳处理。本公开的系统和方法可以识别多跳部署的全局视图,分析所有可能的路径,识别最佳路径,以及对跨越所识别的最佳路径的流量进行负载平衡。因此,本公开的系统和方法可以通过使用全局最佳服务链负载平衡来改善计算基础结构的性能。云环境的服务器和客户机装置中间的装置,诸如应用传送控制器(ADC)可以促进提供或传送由云环境提供的服务。本公开的控制器可以查询云应用程序编程接口(API),例如IaaSAPI,以发现或确定与由IaaS云提供的服务的实例相对应的元数据。元数据可以包括与云环境的提供者相关联的账户信息,诸如分布、可用资源或资源消耗。控制器可以使用该元数据自动调整应用传送控制器的特征或功能,从而将云感知带入ADC系统。使用与云环境相关联的元数据允许控制器通过减少开销、成本、延迟、吞吐量或负载来更有效地为分布在云环境中的实例提供服务。例如,公共或私有云环境中的托管系统可以包括一个或多个API以识别或确定云分区或边界。API允许托管系统或与托管系统接口的系统监视内部动态,以识别对开销、成本、延迟、吞吐量或负载的环境影响。一旦系统通过使用可用元数据了解基础结构及其动态,系统就可以自动调整自身,以使得系统更适合云环境,并且可以更有效地执行。因此,本公开的系统和方法可以:1)识别云分区/边界;2)监控云中的内部动态;3)确定对系统的云/环境影响;以及4)调整托管系统以适应环境变量。私有云或公共云基础结构(例如,云环境)的提供商可以维护信息存储装置或数据存储库,其包括云基础结构的客户的帐户信息。系统可以使用该信息存储装置作为数据库来跟踪用户帐户信息及其用于计费、维护、分析或其他目的的资源分配。可以将云API配置为查询数据库。通过使用这些API,系统可以获取有关实例的元数据,包括获取实例在云中的布局、资源分配(CPU、内存、带宽)、预留类型、连接类型或与实例关联的其他属性或特征。ADC可以使用检索到的元数据来执行负载平衡操作。例如,ADC可以从客户机接收数据分组或网络流量,并将数据分组转发到目的地。一个或多个服务可以处理网络数据或数据分组以到达目的地。服务可以包括例如防火墙、认证、入侵检测系统、web服务等。ADC可以使用元数据来识别计算基础结构中的多个服务的实例。在某些情况下,可以将实例分组或链接在一起以形成路径,该路径可以称为服务链。例如,服务链可以具有包括防火墙的实例、入侵检测系统的实例和Web服务的实例的路径。ADC可以使用元数据来执行服务链负载平衡。例如,不是在服务节点级别(例如,在每个服务的实例处)执行负载平衡,ADC可以确定服务链的每个实例的边权重,组合每个服务链的每个实例的边以确定服务链的路径权重,然后基于路径权重来选择服务链。因此,ADC可以调整云环境以减少计算基础结构的负载,降低网络开销,降低成本并提供改进的负载平衡服务。例如,系统可以配置有控制平面守护进程,该守护进程周期性地提取经由云环境提供的服务链的一些或所有服务实例,以及与实例相关的元数据或帐户信息。系统可以分析元数据并识别、生成或确定服务链的每个实例的边权重,以及每个服务链的路径权重。权重可以指示或指云基础结构的性能的逻辑测量。路径权重可以与各种负载平衡(LB)算法一起使用(例如,作为加权LB算法)以实现改进的系统性能。至少一个方面涉及一种对服务链进行负载平衡的方法。该方法可以包括控制器识别多个服务链,每个服务链包括具有由计算基础结构提供的第一服务的实例和由计算基础结构提供的第二服务的实例的路径。控制器可以在客户端和计算基础结构的中间。计算基础结构可以包括一个或多个网络环境中的一个或多个服务器。该方法可以包括控制器确定多个服务链中的每个服务链的路径权重。路径权重可以指示根据服务链提供服务的效率水平。该方法可以包括控制器从多个服务链中选择服务链以引导来自客户机的网络流量。控制器可以基于负载平衡函数和多个服务链中的每个服务链的路径权重来选择服务链。在一些实施例中,控制器可以使用云应用程序编程接口生成一个或多个查询以检索多个服务链的每个实例的元数据,该一个或多个查询被配置为检索布局、资源分配、预留类型或连接类型中的至少一个的信息。在一些实施例中,控制器可以使用一个或多个查询来识别多个服务链以识别多个服务链中的每个实例。响应于一个或多个查询,控制器可以接收包括第一路径的第一服务链的指示。第一路径可以具有第一服务的第一实例和第二服务的第一实例。控制器还可以接收包括第二路径的第二服务链的指示。第二路径可以具有第一服务的第二实例和第二服务的第二实例。在一些实施例中,控制器可以识别多个服务链中的包括具有第一服务的第一实例和第二服务的第一实例的第一路径的服务链。控制器可以识别多个服务链中的包括具有第一服务的第二实例和第二服务的第二实例的第二路径的第二服务链。控制器可以使用云应用程序编程接口接收第一服务的第一实例、第一服务的第二实例、第二服务的第一实例和第二服务的第二实例中的每一个的元数据。控制器可以基于元数据确定第一服务的第一实例的第一边权重、第一服务的第二实例的第二边权重、第二服务的第一实例的第三边权重、以及第二服务的第二实例的第四边权重。控制器可以基于第一边权重与第三边权重的组合来生成第一路径的第一路径权重。控制器可以基于第二边权重与第四边权重的组合生成第二路径的第二路径权重。控制器可以基于第一路径权重排序高于第二路径权重来选择与第一路径相对应的服务链。在一些实施例中,控制器可以通过基于多个服务链中的每个服务链的路径权重对多个服务链中的每个服务链进行排序来选择服务链。控制器可以基于排序来选择多个服务链中预定数量的最高排序的服务链,以生成服务链的子集。控制器可以本文档来自技高网...

【技术保护点】
1.一种对服务链进行负载平衡的方法,包括:由控制器识别多个服务链,所述控制器在客户机和包括一个或多个网络环境中的一个或多个服务器的计算基础结构的中间,所述多个服务链中的每一个包括具有由所述计算基础结构提供的第一服务的实例和由所述计算基础结构提供的第二服务的实例的路径;由所述控制器确定所述多个服务链中的每个服务链的路径权重,所述路径权重指示根据所述服务链提供服务的效率水平;以及由所述控制器基于负载平衡函数和所述多个服务链中的每个服务链的路径权重来从所述多个服务链中选择服务链以引导来自客户机的网络流量。

【技术特征摘要】
【国外来华专利技术】2016.04.29 US 15/1431811.一种对服务链进行负载平衡的方法,包括:由控制器识别多个服务链,所述控制器在客户机和包括一个或多个网络环境中的一个或多个服务器的计算基础结构的中间,所述多个服务链中的每一个包括具有由所述计算基础结构提供的第一服务的实例和由所述计算基础结构提供的第二服务的实例的路径;由所述控制器确定所述多个服务链中的每个服务链的路径权重,所述路径权重指示根据所述服务链提供服务的效率水平;以及由所述控制器基于负载平衡函数和所述多个服务链中的每个服务链的路径权重来从所述多个服务链中选择服务链以引导来自客户机的网络流量。2.根据权利要求1所述的方法,其中识别所述多个服务链包括:由所述控制器使用云应用程序编程接口生成一个或多个查询以识别所述多个服务链的每个实例;以及由所述控制器响应于所述一个或多个查询接收第一服务链的指示和第二服务链的指示,所述第一服务链包括具有所述第一服务的第一实例和所述第二服务的第一实例的第一路径,所述第二服务链包括具有所述第一服务的第二实例和所述第二服务的第二实例的第二路径。3.根据权利要求1所述的方法,包括:由所述控制器使用云应用程序编程接口生成一个或多个查询以检索所述多个服务链的每个实例的元数据,所述一个或多个查询被配置为检索布局、资源分配、预留类型或连接类型中的至少一个的信息。4.根据权利要求1所述的方法,包括:由所述控制器识别所述多个服务链中的包括具有所述第一服务的第一实例和所述第二服务的第一实例的第一路径的服务链;由所述控制器识别所述多个服务链中的包括具有所述第一服务的第二实例和所述第二服务的第二实例的第二路径的第二服务链;由所述控制器使用云应用程序编程接口接收所述第一服务的第一实例、所述第一服务的第二实例、所述第二服务的第一实例和所述第二服务的第二实例中的每一个的元数据;由所述控制器基于所述元数据确定所述第一服务的第一实例的第一边权重、所述第一服务的第二实例的第二边权重、所述第二服务的第一实例的第三边权重、以及所述第二服务的第二实例的第四边权重;由所述控制器基于所述第一边权重与所述第三边权重的组合,生成所述第一路径的第一路径权重;由所述控制器基于所述第二边权重与所述第四边权重的组合,生成所述第二路径的第二路径权重;以及由所述控制器基于所述第一路径权重排序高于所述第二路径权重,选择与所述第一路径相对应的服务链。5.根据权利要求1所述的方法,其中选择服务链包括:由所述控制器基于所述多个服务链中的每个服务链的路径权重,对所述多个服务链中的每个服务链进行排序;由所述控制器基于排序来选择所述多个服务链中预定数量的最高排序的服务链,以生成服务链的子集;以及由所述控制器将所述服务链的子集中的每个的路径权重输入到所述负载平衡函数中以选择服务链。6.根据权利要求1所述的方法,包括:由所述控制器基于所述多个服务链中的每个服务链的路径权重,对所述多个服务链中的每个服务链进行排序;由所述控制器基于排序来选择所述多个服务链中预定数量的最高排序的服务链,以生成服务链的子集;由所述控制器识别从所述服务链的子集中遗漏的所述第一服务的一个或多个实例;以及由所述控制器修改所述服务链的子集以包括所述多个服务链中的一个或多个附加服务链,所述一个或多个附加服务链包括所述第一服务的所述一个或多个实例。7.根据权利要求1所述的方法,包括:由所述控制器使用机器学习技术修剪所述多个服务链以生成所述多个服务链的子集;以及由所述控制器基于所述负载平衡函数和所述多个服务链的子集中的每个的路径权重,从所述多个服务链的子集中选择服务链。8.根据权利要求1所述的方法,包括:基于所述多个服务链中的每个服务链的每个实例的边权重来确定所述多个服务链中的每个服务链的路径权重,所述路径权重基于延迟、资源开销、吞吐量或资源成本中的至少一个。9.根据权利要求1所述的方法,其中,所述多个服务链中的每个服务链包括不同的路径并提供相同的服务。10.根据权...

【专利技术属性】
技术研发人员:S·M·帕拉马斯瓦姆
申请(专利权)人:思杰系统有限公司
类型:发明
国别省市:美国,US

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

1