System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 用于微服务系统的方法和系统跟踪控制器技术方案_技高网

用于微服务系统的方法和系统跟踪控制器技术方案

技术编号:42872189 阅读:1 留言:0更新日期:2024-09-27 17:32
提供了一种用于可扩展性分析的方法,以及一种用于微服务系统的系统跟踪控制器,所述微服务系统包括多个计算资源,对微服务的请求在所述多个计算资源上执行。所述系统跟踪控制器接收多个请求的元数据,请求元数据包括每个请求的时间戳。所述系统跟踪控制器还接收与请求相关联的多个跟踪。所述系统跟踪控制器还接收一个或多个计算资源的性能指标。所述系统跟踪控制器基于相应的时间戳将资源、跟踪和请求关联。所述系统跟踪控制器对跟踪进行编码,并基于编码将所述跟踪分类为类别。然后,所述系统跟踪控制器基于所述类别确定所述跟踪、所述资源和所述请求的模型,估计边界并确定所述资源的排名,以改进可扩展性分析和可扩展性问题的处理。

【技术实现步骤摘要】
【国外来华专利技术】

本专利技术大体上涉及云计算和分布式系统(例如分布式软件系统(distributedsoftware system,dss))领域;更具体地,涉及一种用于可扩展性分析和处理可扩展性问题的方法,以及一种用于微服务系统的系统跟踪控制器。


技术介绍

1、通常,可扩展性是分布式软件系统最重要的方面之一。可扩展的系统能够适应和处理由需求变化(请求特征)引起的不断增加的工作负载。可扩展性是分布式系统(如微服务应用)调整后端基础设施可用的资源以响应不断变化的需求的能力。通常,随着需求的增加,分布式系统的每个组件需要与整个系统一起扩展,以保证服务质量(quality ofservice,qos)不会下降。可扩展性限制的根本原因通常与资源瓶颈相关联。由于需求通常表示为在给定时间间隔内施加到系统的工作负载,因此需求可以量化为向系统发送的每秒请求数(request per second,rps)。当系统可扩展时,无论rps如何,它都会维持其服务质量(例如,平均响应时间)。如果需求增加50%,则平均响应时间最好保持不变。

2、实际上,系统在高需求下可能会饱和,并且由于资源是有限的,资源瓶颈会限制可扩展性。通常,随着需求的增加,资源会饱和,因此服务质量(quality of service,qos)会降低到协定水平以下。用户会开始接收到错误消息,遇到页面响应缓慢和超时。此外,随着云原生应用和技术的激增和进步,越来越需要对微服务应用的可扩展性分析。但是,由于大多数方案都是为了分析传统的分布式、并行系统而构建的,因此在分析规模和复杂性都要大得多的微服务应用的可扩展性时,这些方案具有局限性。由于其复杂性,微服务应用需要可扩展性分析工具能够考虑以下三个重要约束:(1)现网流量:在可以处理数十万并发请求的应用中,通常无法通过模拟需求来进行可扩展性分析,因此需要使用现网流量来代替;(2)混合请求:需求通过在本质上是多维的请求来表征,例如,需求可以通过rps、数据量传输、可用区和处理参数(argument)来表征;(3)复杂的后端:在微服务系统中,为了处理请求而选择和调用的资源是不可先验获知的。选择是动态的,因此很难或有时不可能确定资源瓶颈。

3、现有的可扩展性分析工具和系统有一些限制。例如,现有的可扩展性分析工具和系统通常需要模拟需求,这并不总是可行的,而且它们通常无法在观察可扩展性问题之前预测这些可扩展性问题。另外,现有的可扩展性分析工具和系统无法将用户请求与处理请求的后端系统的组件关联起来,它们无法精确地确定构成特定请求类别的瓶颈的资源。此外,现有的可扩展性分析工具需要模拟并发用户。虽然有人认为负载测试仍然可以应用于具有真实用户的正在运行的生产系统,但它不能用于评估系统在重负载下的可扩展性(即用于压力测试),因为这会影响使用现网的用户。此外,为处理请求而分配的资源可能是未知的(先验的),例如在复杂的微服务应用中,例如在云平台(例如,对象存储或云计算服务)中存在的微服务应用中。复杂的微服务应用通常提供接收混合请求的端点,传输给特定端点的参数会影响资源限制,从而导致出现瓶颈。例如,端点解码视频的响应时间取决于端点标识符、视频的大小和解压缩格式。因此,可扩展性分析需要考虑请求的多维性。

4、此外,现有的可扩展性分析工具没有考虑复杂的后端,因此缺乏跟踪处理请求所涉及的硬件和基础设施系统的机制,从而无法精确地确定复杂微服务应用的限制资源。此外,现有的工具侧重于在系统投入生产之前发现性能问题,模拟用户并引导用户关注系统,因此不适合生产阶段。此外,量化可扩展性问题的现有工具和系统倾向于计算扩展对性能的影响,并且在运行时利用这些工具和系统需要了解系统的内部情况,而无法提供关于各个系统资源的可扩展性的任何洞察。


技术实现思路

1、本专利技术寻求提供一种用于微服务系统的系统跟踪控制器,以及一种在微服务系统中使用系统跟踪控制器进行可扩展性分析的方法。本专利技术的目的是提供一种方案,其通过提供改进的系统跟踪控制器用于微服务系统来至少部分地克服现有技术中遇到的问题。该方案通过将系统视为黑盒而不假定了解内部架构而在目标系统面临高流量之前预测可扩展性问题,并且不仅提供系统的限制资源和饱和点,而且提供其它资源的饱和点。本专利技术通过分别依赖于(1)预测技术、(2)分布式跟踪和(3)多维建模,来帮助分析使用现网流量、具有复杂后端并支持混合请求的微服务系统的可扩展性,并且通过构建多维模型来预测资源瓶颈和饱和极限,从而支持混合请求。

2、本专利技术的一个或多个目的通过所附独立权利要求中提供的方案来实现。本专利技术的有利实现方式在从属权利要求中进一步定义。

3、在一个方面中,本专利技术提供了一种用于微服务系统的系统跟踪控制器,所述系统跟踪控制器包括多个计算资源,对微服务的请求在所述多个计算资源上执行。所述系统跟踪控制器用于接收多个请求的元数据,所述请求元数据包括每个请求的时间戳。所述系统跟踪控制器还用于接收与所述请求相关联的多个跟踪,每个跟踪包括时间戳。所述系统跟踪控制器还用于接收一个或多个计算资源的性能指标,所述性能指标包括每个资源的时间戳。所述系统跟踪控制器还用于基于相应的时间戳将所述资源、所述跟踪和所述请求关联。所述系统跟踪控制器还用于对所述跟踪进行编码。所述系统跟踪控制器还用于基于所述编码将所述跟踪分类为类别。所述系统跟踪控制器还用于基于所述类别确定所述跟踪、所述资源和所述请求的模型。所述系统跟踪控制器还用于估计边界。所述系统跟踪控制器还用于确定所述一个或多个资源中的至少一个资源的排名。

4、本专利技术的系统跟踪控制器预测了分布式系统在运行时将来可能发生的可扩展性问题。另外,系统跟踪控制器仅分析目标系统在生产过程中的监控度量,而不模拟用户,因此不会为目标系统增加额外的负载。此外,系统跟踪控制器不依赖于目标系统的内部架构,它不假定对目标系统的内部结构有任何了解,并将目标系统视为黑盒。此外,系统跟踪控制器使用分布式跟踪来关联为处理特定类别的请求而动态分配的资源,从而通过识别资源瓶颈来提供动态资源分配,同时考虑复杂的后端。此外,系统跟踪控制器提供所有系统资源的预测饱和负载水平,以及目标系统的限制资源和预测饱和负载水平,从而实现每个资源的可扩展性。此外,系统跟踪控制器通过分别依赖于(1)预测技术、(2)分布式跟踪和(3)多维建模来分析使用现网流量、具有复杂后端和支持混合请求的微服务系统的可扩展性。此外,本专利技术的系统跟踪控制器通过构建多维模型来预测资源瓶颈和饱和极限,从而支持混合请求。

5、在一种实现方式中,跟踪包括一个或多个跨度,其中,跨度是对属性值向量(p_i,_i),描述微服务在给定时间的状态、响应时间和其它特征。

6、跨度与在富集期间处理请求时使用的资源关联。跨度是后端响应于请求而生成的事件,其具有结构:kind、id、traceid、parentid、时间戳、持续时间、本地和远程ip、rest方法和url。

7、在另一种实现方式中,跨度被编码为元组(时间戳,组件id,traceid,id,parent本文档来自技高网...

【技术保护点】

1.一种用于微服务系统(100)的系统跟踪控制器(102),其特征在于,所述系统跟踪控制器(102)包括多个计算资源,对微服务的请求在所述多个计算资源上执行,所述系统跟踪控制器(102)用于:

2.根据权利要求1所述的系统跟踪控制器(102),其特征在于,跟踪包括一个或多个跨度,其中,跨度是对属性值向量(p_i,_i),描述微服务在给定时间的状态、响应时间和其它特征。

3.根据权利要求2所述的系统跟踪控制器(102),其特征在于,跨度被编码为元组(时间戳,组件id,traceId,id,parentId,协议,方法和路径)。

4.根据权利要求3所述的系统跟踪控制器(102),其特征在于,所述跟踪是通过生成跟踪树来进行分类的,其中,所述系统跟踪控制器(102)用于通过以下方式生成跟踪树:

5.根据上述权利要求中任一项所述的系统跟踪控制器(102),其特征在于,所述系统跟踪控制器(102)还用于:

6.根据权利要求1至4中任一项所述的系统跟踪控制器(102),其特征在于,所述系统跟踪控制器(102)还用于:

7.根据上述权利要求中任一项所述的系统跟踪控制器(102),其特征在于,所述系统跟踪控制器(102)还用于利用中心性对所述请求进行分组。

8.根据权利要求7所述的系统跟踪控制器(102),其特征在于,所述系统跟踪控制器(102)还用于在请求组之间进行内插。

9.根据权利要求7或8所述的系统跟踪控制器(102),其特征在于,所述系统跟踪控制器(102)还用于在请求组外进行外推。

10.根据上述权利要求中任一项所述的系统跟踪控制器(102),其特征在于,所述系统跟踪控制器(102)还用于将所述至少一个资源作为多准则决策(multiple-criteriadecision-making,MCDM)问题进行排名。

11.一种用于系统跟踪控制器(102)的方法(1300),其特征在于,所述系统跟踪控制器(102)用于微服务系统,所述微服务系统包括多个计算资源(214),在所述多个计算资源(214)上执行对微服务的请求(210),其中,所述方法(1300)包括:

12.根据权利要求11所述的方法(1300),其特征在于,跟踪包括一个或多个跨度,其中,跨度是对属性值向量(p_i,_i),描述微服务在给定时间的状态、响应时间和其它特征。

13.根据权利要求12所述的方法(1300),其特征在于,跨度被编码为元组(时间戳,组件id,traceId,id,parentId,协议,方法和路径)。

14.根据权利要求13所述的方法(1300),其特征在于,所述跟踪是通过生成跟踪树来进行分类的,其中,所述方法包括通过以下方式生成跟踪树:

15.根据权利要求11至14中任一项所述的方法(1300),其特征在于,所述方法(1300)还包括:

16.根据权利要求11至14中任一项所述的方法(1300),其特征在于,所述方法(1300)还包括:

17.根据权利要求11至16中任一项所述的方法(1300),其特征在于,所述方法(1300)还包括:

18.根据权利要求17所述的方法(1300),其特征在于,所述方法(1300)还包括在请求组之间进行内插。

19.根据权利要求17或18所述的方法(1300),其特征在于,所述方法(1300)还包括在请求组外进行外推。

20.根据权利要求11至19中任一项所述的方法(1300),其特征在于,所述方法(1300)还包括将所述至少一个资源作为多准则决策(multiple-criteria decision-making,MCDM)问题进行排名。

...

【技术特征摘要】
【国外来华专利技术】

1.一种用于微服务系统(100)的系统跟踪控制器(102),其特征在于,所述系统跟踪控制器(102)包括多个计算资源,对微服务的请求在所述多个计算资源上执行,所述系统跟踪控制器(102)用于:

2.根据权利要求1所述的系统跟踪控制器(102),其特征在于,跟踪包括一个或多个跨度,其中,跨度是对属性值向量(p_i,_i),描述微服务在给定时间的状态、响应时间和其它特征。

3.根据权利要求2所述的系统跟踪控制器(102),其特征在于,跨度被编码为元组(时间戳,组件id,traceid,id,parentid,协议,方法和路径)。

4.根据权利要求3所述的系统跟踪控制器(102),其特征在于,所述跟踪是通过生成跟踪树来进行分类的,其中,所述系统跟踪控制器(102)用于通过以下方式生成跟踪树:

5.根据上述权利要求中任一项所述的系统跟踪控制器(102),其特征在于,所述系统跟踪控制器(102)还用于:

6.根据权利要求1至4中任一项所述的系统跟踪控制器(102),其特征在于,所述系统跟踪控制器(102)还用于:

7.根据上述权利要求中任一项所述的系统跟踪控制器(102),其特征在于,所述系统跟踪控制器(102)还用于利用中心性对所述请求进行分组。

8.根据权利要求7所述的系统跟踪控制器(102),其特征在于,所述系统跟踪控制器(102)还用于在请求组之间进行内插。

9.根据权利要求7或8所述的系统跟踪控制器(102),其特征在于,所述系统跟踪控制器(102)还用于在请求组外进行外推。

10.根据上述权利要求中任一项所述的系统跟踪控制器(102),其特征在于,所述系统跟踪控制器(102)还用于将所述至少一个资源作为多准则决策(multiple-criteriadecision-making,m...

【专利技术属性】
技术研发人员:乔治·卡多索索鲁什·哈埃里伊利亚·夏哈特
申请(专利权)人:华为云计算技术有限公司
类型:发明
国别省市:

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

1