服务网格内的原位触发的功能即服务制造技术

技术编号:27485693 阅读:72 留言:0更新日期:2021-03-02 18:00
本技术涉及一种用于自动触发与具有优选执行顺序的一系列代码段或功能代码相对应的相关代码段的系统和方法。自动触发动作是基于侦听由于先前代码段的执行而生成的响应的。可通过指示诸如Envoy之类的网络代理来侦听正在转发到客户端实体的响应分组的统一资源标识符(URI)字段,来获得有关优选执行顺序中的下一代码段的信息。以这种方式,网络代理可以在接收到相应的客户端请求之前,抢先性地产生并实例化(由所侦听的统一资源标识符所指向的)后续功能代码。这样,在接收到针对该后续功能代码的客户端请求时,该代码准备好执行。该代码准备好执行。该代码准备好执行。

【技术实现步骤摘要】
【国外来华专利技术】服务网格内的原位触发的功能即服务
[0001]相关申请的交叉引用
[0002]本申请要求于2018年8月13日递交的、名称为“IN SITU TRIGGERED FUNCTION AS A SERVICE WITHIN A SERVICE MESH(服务网格内的原位触发功能即服务)”的美国非临时专利申请No.16/102,395的权益和优先权,该申请的整体通过引用明确结合于此。


[0003]本技术涉及无服务器(Serverless)计算。更具体地说,本技术旨在改进服务网格环境中的无服务器架构的性能。

技术介绍

[0004]基于微服务的架构的现实世界实施方式必须能够在微服务级别上实现中央总线(即,面向服务的架构实施方式中所使用的企业服务总线)所支持的大多数功能。因此,尽管解决了相同的基本问题集,但这些基本问题是通过微服务在不同维度上解决的。例如,通过利用架构的内置功能来构建在服务间通信期间有用的虚拟/复合服务和功能(例如,断路器、超时和服务发现等),可以利用企业服务总线架构来容易地处理涉及以弹性方式调用多个下游服务以及将功能展现为另一(复合)服务的场景。然而,在基于微服务的架构中实施同一场景必须使用一组(复合和原子的)微服务来实现,并且不能受益于企业服务总线的集中集成层。因此,在基于微服务的架构中,所有所需的功能必须在微服务级上实现。
[0005]微服务包括实现一个或多个功能、服务组合/集成逻辑,或执行计算的业务逻辑片段。除了业务逻辑片段外,微服务还包括网络功能,以促进服务间通信机制(并且通过给定协议、应用弹性和稳定性模式、服务发现等来启用基本服务调用)。这些网络功能可构建在底层操作系统级别的网络堆栈之上。在这样的基于微服务的架构中,从头开始实现与服务到服务通信有关的功能将非常复杂。必须花费大量的时间/精力/资源来构建服务到服务通信功能,而非实现业务逻辑。如果使用了多种技术来构建微服务(例如,多种编程语言),则情况将变得更糟,因为必须在不同的语言之间重复花费相同的时间和精力。因此,实现微服务架构的最复杂的挑战不是构建服务本身,而是构建服务之间的通信。由于大多数服务间通信要求在所有微服务实施方式中都非常通用,因此一种补救解决方案可涉及将所有此类任务卸载到不同的层,以便可以保持服务代码独立。这可以利用服务网格来实现。
[0006]简而言之,服务网格是一种服务间通信基础设施,用于使服务到服务通信安全、可靠、可观察且可配置。在服务网格环境中,给定的微服务不直接与其他微服务通信,而是所有的服务到服务通信都将在称为服务网格的软件组件的基础上进行。服务网格还可以提供对一些网络功能(例如,容错(弹性)和服务发现)的内置支持。
[0007]与无服务器计算相关联的功能即服务(FaaS)的概念与基于微服务的架构紧密相关。软件开发人员可以利用这种方法将单个功能(可以表示为单个或一系列的一个或多个微服务)、动作、或业务逻辑片段直接部署到云网络中。这些功能当被调用时预期在几毫秒内启动,并在该过程结束之后处理各个请求。功能即服务框架实现了远离开发人员的服务
器的完全抽象,从而产生例如基于消耗和执行的计费系统以及事件驱动和即时可缩放的服务。功能即服务可特别适合大批量事务。例如,当事务或代码片段被每秒执行数百次时,将相应的逻辑隔离到可易于缩放的功能将是非常有益的。功能可能有许多潜在用途,例如,它们提供了高效的模型来执行调度的任务(根据预定义调度来运行特定的代码片段)或在必要时人工运行代码片段。另一种合适的使用情况可涉及处理网络请求和/或队列消息。
[0008]弹性和可缩放性是任何应用架构的基本属性。利用功能即服务模型提供了一种灵活的方法来为应用架构增加可缩放性和弹性。由于资源是根据应用的需求来分配的,因此还可以降低成本。功能即服务架构是可自动缩放的,当流量或负载增加时,自动标量(Auto-scalar)添加资源以处置额外的活动,并且在流量或负载降低时移除资源以助于降低成本。还消除了对管理云上的服务器的需求,并通过广泛使用功能计算资源来代替云上服务器。
[0009]在无服务器架构中,短期功能在每次请求时被调用,并且提供商可针对运行每个单独的功能或业务逻辑而向客户收费(因此名称为功能即服务或FaaS)。无服务器架构或功能即服务架构中的功能是可被表示为单个或一系列的一个或多个微服务操作的较小的、分立并且可再次使用的代码块。这些功能也可被链接在一起。例如,网络请求可对队列进行写入,其然后由不同的功能提取。
附图说明
[0010]为了描述可以获得本公开的上述和其他优点和特征的方式,将通过参考在附图中示出的特定实施例来对以上简要描述的原理进行更具体的描述。应理解,这些附图仅描绘了本公开的示例性实施例,因此不应被认为是对其范围的限制,通过使用附图,以附加的特征和细节来描述和解释本文的原理,其中:
[0011]图1示出了标准服务网格环境中的无服务器计算的基本操作流程图。
[0012]图2示出了根据本技术的实施例的基于服务代码的原位触发以改善服务网格响应时间的增强无服务器框架的操作流程图。
[0013]图3示出了根据本技术的实施例的用于基于服务代码的原位触发在服务网格环境中实现无服务器计算的基本操作步骤。
[0014]图4示出了根据本技术的实施例的用于在服务网格环境中实现基于云的无服务器计算的系统概述。
具体实施方式
[0015]在独立权利要求中陈述了本专利技术的各方面,并且在从属权利要求中陈述了优选的特征。一个方面的特征可以单独地或与其他方面结合地应用于每个方面。
[0016]本公开的附加特征和优点将在下面的描述中阐述,并且部分地根据该描述将是显而易见的,或者可以通过实践本文公开的原理来获悉。本公开的特征和优点可以通过所附权利要求中特别指出的手段和组合来实现和获得。本公开的这些和其他特征根据以下描述和所附权利要求将变得更加显而易见,或者可以通过实践本文阐述的原理来获悉。
[0017]概览
[0018]公开了系统、方法和设备,这些系统、方法和设备涉及在无服务器架构中自动调用相关功能代码或微服务实例。除了响应于诸如初始客户端请求之类的触发而促进功能代码
的调用和执行以及将相应的(一个或多个)响应分组转发回客户端实体之外,控制器实体或网络代理程序还可以对转发/路由的分组执行附加操作。例如,可以侦听(snoop)(一个或多个)客户端指定的响应分组,以揭示有关可能作为后续客户端请求/查询的目标的任何功能代码的信息。侦听返回流量可以包括检查关于标识、位置和相关访问/通信协议、以及与下一(微)服务或代码段相关联的其他相关细节的任何信息的统一资源标识符字段。如本技术的一些实施例所公开的,基于所侦听的信息,诸如Envoy之类的网络代理可以在接收到相应的客户端请求之前,抢先性地产生并实例化(由所侦听的统一资源标识符所指向的)后续功能代码。触发事件可以是针对服务链中的实现所需功能的初始功能代码的客户端请求。本技术的各方面还涉及实现在(由初始事件触发)调用和执行具有本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于在服务网格环境中实现相关代码段的自动实例化的方法,包括:侦听通过执行具有优选执行序列的多个代码段中的代码段而生成的一个或多个响应分组;实例化通过侦听所述一个或多个响应分组而识别的代码段,来作为所述优选执行序列中的下一代码段,其中,所述多个代码段中的初始代码段响应于触发而被实例化。2.根据权利要求1所述的方法,其中,与优选执行序列相关联的所述多个代码段与执行宏任务所涉及的多个微任务相对应。3.根据权利要求1或2所述的方法,其中,所述触发包括针对所述初始代码段的指定请求。4.根据权利要求1至3中任一项所述的方法,其中,所述触发对应于感兴趣的分组或对特定功能的请求。5.根据权利要求1至4中任一项所述的方法,其中,所述触发对应于调度任务、网络请求、队列消息或人工调用。6.根据权利要求1至5中任一项所述的方法,其中,侦听所述一个或多个响应分组包括侦听所述一个或多个响应分组的统一资源标识符字段。7.根据权利要求1至6中任一项所述的方法,其中,每个代码段对应于服务,并且具有优选执行顺序的所述多个代码段对应于服务链。8.根据权利要求1至7中任一项所述的方法,其中,多个代码段中的每个代码段对应于无服务器计算架构中的功能。9.根据权利要求8所述的方法,其中,所述无服务器计算架构是在服务网格内实现的。10.一种用于改善服务网格的响应时间的方法,包括:实例化基于侦听由于执行先前代码段而生成的一个或多个响应分组而识别的代码段;以及对于具有优选执行序列的多个代码段,在初始代码段的触发执行之后,针对每个代码段重复所述侦听和实例化操作。11.根据权利要求10所述的方法,其中,侦听所述一个或多个响应分组包括侦听所述一个或多个响应分组的统一资源标识符字段。12.根据权利要求10或11所述的方法,其中,每个代码段对应于服务代码,并且具有优选执行序列的所述多个代码段对应于服务链。13.根据权利要求12所述的方法,其中,所述服务链是根据无服务器模型来实现的。14.根据权利要求10至13中任一项所述的方法,其中,所述初始代码段的触...

【专利技术属性】
技术研发人员:纳根德拉
申请(专利权)人:思科技术公司
类型:发明
国别省市:

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

1