CN114244898A - 基于服务网格的工作负载预热方法及装置 - Google Patents

基于服务网格的工作负载预热方法及装置 Download PDF

Info

Publication number
CN114244898A
CN114244898A CN202111357500.7A CN202111357500A CN114244898A CN 114244898 A CN114244898 A CN 114244898A CN 202111357500 A CN202111357500 A CN 202111357500A CN 114244898 A CN114244898 A CN 114244898A
Authority
CN
China
Prior art keywords
preheating
workload
rule
service
instance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111357500.7A
Other languages
English (en)
Inventor
王夕宁
曾宇星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Co Ltd
Original Assignee
Alibaba China Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202111357500.7A priority Critical patent/CN114244898A/zh
Publication of CN114244898A publication Critical patent/CN114244898A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本说明书一个或多个实施例提供一种基于服务网格的工作负载预热方法及装置。其中,该方法包括:响应于检测到针对微服务创建的新建工作负载,为所述新建工作负载配置预热规则;所述新建工作负载包含对应于所述微服务的应用服务实例和对应于所述服务网格的服务网格代理实例;所述预热规则用于定义所述应用服务实例的负载比例与预热时长的对应关系,且所述预热时长与所述负载比例呈正相关;将所述预热规则下发至所述服务网格代理实例,以使所述服务网格代理实例按照所述预热规则管理流入所述应用服务实例的流量。

Description

基于服务网格的工作负载预热方法及装置
技术领域
本说明书一个或多个实施例涉及终端技术领域,尤其涉及一种基于服务网格的工作负载预热方法及装置。
背景技术
服务网格(Service Mesh)是指用于微服务应用的可配置基础架构层,微服务应用则是指采用微服务架构部署的应用程序。在微服务架构中,微服务应用的各项功能均会被拆分为单独的微服务进行部署。完成部署后的各个微服务则可以通过服务网格进行数据共享,进而共同实现整个微服务应用的功能。
在实际应用中,需要针对微服务创建有工作负载,以通过工作负载对获取的流量进行处理。然而,相关技术在对新建的工作负载进行预热的过程中,难以对引入新建工作负载的流量进行有效控制,极易出现超出工作负载的负载能力的情况。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种基于服务网格的工作负载预热方法及装置。
为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
根据本说明书一个或多个实施例的第一方面,提出了一种基于服务网格的工作负载预热方法,包括:
响应于检测到针对微服务创建的新建工作负载,为所述新建工作负载配置预热规则;所述新建工作负载包含对应于所述微服务的应用服务实例和对应于所述服务网格的服务网格代理实例;所述预热规则用于定义所述应用服务实例的负载比例与预热时长的对应关系,且所述预热时长与所述负载比例呈正相关;
将所述预热规则下发至所述服务网格代理实例,以使所述服务网格代理实例按照所述预热规则管理流入所述应用服务实例的流量。
根据本说明书一个或多个实施例的第二方面,提出了一种基于服务网格的工作负载预热方法,包括:
接收为新建工作负载配置的预热规则,所述新建工作负载包含对应于微服务的应用服务实例和对应于所述服务网格的服务网格代理实例;其中,所述预热规则用于定义所述应用服务实例的负载比例与预热时长的对应关系,且所述预热时长与所述负载比例呈正相关;
按照所述预热规则管理流入所述应用服务实例的流量。
根据本说明书一个或多个实施例的第三方面,提出了一种基于服务网格的工作负载预热装置,包括:
配置单元,响应于检测到针对微服务创建的新建工作负载,为所述新建工作负载配置预热规则;所述新建工作负载包含对应于所述微服务的应用服务实例和对应于所述服务网格的服务网格代理实例;所述预热规则用于定义所述应用服务实例的负载比例与预热时长的对应关系,且所述预热时长与所述负载比例呈正相关;
下发单元,将所述预热规则下发至所述服务网格代理实例,以使所述服务网格代理实例按照所述预热规则管理流入所述应用服务实例的流量。
根据本说明书一个或多个实施例的第四方面,提出了一种基于服务网格的工作负载预热装置,包括:
接收单元,接收为新建工作负载配置的预热规则,所述新建工作负载包含对应于微服务的应用服务实例和对应于所述服务网格的服务网格代理实例;其中,所述预热规则用于定义所述应用服务实例的负载比例与预热时长的对应关系,且所述预热时长与所述负载比例呈正相关;
管理单元,按照所述预热规则管理流入所述应用服务实例的流量。
根据本说明书一个或多个实施例的第五方面,提出了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如第一方面或第二方面中任一项所述的方法。
根据本说明书一个或多个实施例的第六方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面或第二方面中任一项所述方法的步骤。
附图说明
图1是一示例性实施例提供的一种服务网格的逻辑架构示意图。
图2是一示例性实施例提供的一种基于服务网格的工作负载预热方法的流程图。
图3是一示例性实施例提供的另一种基于服务网格的工作负载预热方法的流程图。
图4是一示例性实施例提供的一种对新建工作负载进行渐进式预热的逻辑交互图。
图5是一示例性实施例提供的一种设备的结构示意图。
图6是一示例性实施例提供的一种基于服务网格的工作负载预热装置的框图。
图7是一示例性实施例提供的另一种基于服务网格的工作负载预热装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
基于微服务架构部署的应用程序被称作微服务应用。在部署微服务应用时,通常将微服务应用所能提供的若干个功能,拆分为单独的微服务进行部署,进而使得开发人员在需要对微服务应用的某项功能进行升级时,只需对相应的微服务进行修改即可,而无需对整个应用程序进行重新部署。
服务网格(Service Mesh)指的是可以为微服务应用包含的各个微服务提供网络通信服务的可配置基础架构层,具体的,从逻辑层面可以将其抽象成如图1所示的控制层和数据层。其中,控制层可以用于对数据层的各个微服务进行控制管理;而数据层的各个微服务,则可以包含若干个工作负载,每一工作负载均包含应用服务实例和服务网格代理实例。在实际应用中,正是由微服务中的工作负载提供处理资源,以用于实现相应的功能。而在任一工作负载中,则是由其包含的应用服务实例承载流量处理任务,服务网格代理实例则用于对流量引入应用服务实例的过程进行控制。
在相关技术中,若微服务中创建有新建工作负载,则首先需要对该新建工作负载进行预热,以使其能够进入稳定的工作状态。然而,相关技术在对新建工作负载进行预热时,难以对流量进行有效控制,极易出现流量引入过快,导致超出应用服务实例的负载能力的情况。
举例而言,开发人员在测试和实际使用过程中发现,对于微服务应用中的任一微服务,若不对为其创建的新建工作负载进行预热,则必然导致新建工作负载在处理第一个接收到的请求时,所需消耗的处理时长将远超正常值,达到几百ms,甚至是1s。而在微服务中,通常都设定了超时时长,极易导致处理时长超出超时时长,进而导致微服务停摆的问题。为此,开发人员提出了一种微服务应用的预热方案。具体的,在针对微服务创建有新建工作负载后,新建工作负载可以调用所有冗余的处理资源对流量进行处理,进而实现对新建工作负载的预热。然而,在该方式中,新建工作负载通过服务网格代理实例向应用服务实例引入流量的速度取决于冗余的处理资源(如CPU资源),是一个长期波动的值,致使虽然能够对流量的引入速度进行控制,但该控制极其不稳定,仍然存在流量引入过快,导致超出应用服务实例的负载能力的情况,进而出现微服务停摆,甚至是微服务应用崩溃的问题。
针对上述技术问题,本说明书提出了一种基于服务网格的工作负载预热方法,该方法在针对微服务创建有新建工作负载的情况下,能够根据预先配置的预热规则对新建工作负载进行预热,避免了相关技术中由于预热过程中,流量引入速度控制不稳定而超出应用服务实例的负载能力的情况。
图2是本说明书一示例性实施例示出的一种基于服务网格的工作负载预热方法的流程图。如图2所示,该方法可以包括以下步骤:
步骤202,响应于检测到针对微服务创建的新建工作负载,为所述新建工作负载配置预热规则;所述新建工作负载包含对应于所述微服务的应用服务实例和对应于所述服务网格的服务网格代理实例;所述预热规则用于定义所述应用服务实例的负载比例与预热时长的对应关系,且所述预热时长与所述负载比例呈正相关。
在本说明书中,开发人员可以预先在不同的节点处部署用于实现不同功能的微服务,例如,若待部署的微服务应用为即时通讯应用,则可以部署用于提供文字输入功能的微服务A,部署用于提供消息接收功能的微服务B,部署用于提供语音输入功能的微服务C。在此基础上,若对即时通讯应用的某次升级为:提升其语音识别的准确性,则仅对微服务C进行升级即可,而无需对整个即时通讯应用进行重新部署。需要声明的是,用于部署微服务的节点既可以为物理设备,也可以为对云平台上的云处理资源进行虚拟化后创建的虚拟设备。可以将该节点理解为部署微服务的载体,具体如何选择该用于部署微服务的载体,可由本领域技术人员根据实际情况确定,本说明书对此不作限制。
在本说明书中,服务网格的控制层可以对处于数据层的各个微服务进行监测,以确定在数据层中是否针对微服务创建有新建工作负载。在检测到针对微服务创建有新建工作负载的情况下,即可为该新建工作负载配置一预热规则。其中,该预热规则用于定义新建工作负载中的应用服务实例的负载比例与预热时长的对应关系,且预热规则中的预热时长与负载比例呈正相关。在此基础上,控制层即可将预热规则下发至新建工作负载中的服务网格代理实例,以使服务网格代理实例按照该预热规则,将流量引入新建工作负载的应用服务实例中,进而实现对新建工作负载的预热。当然,也可以不通过控制层监测的方式判断是否针对微服务创建有新建工作负载,而是可以在针对微服务创建有新建工作负载的情况下,由数据层主动上报创建有新建工作负载的消息。
应当理解的是,由于本说明书中的服务网格代理实例是按照预热规则中规定的负载比例与预热时长的对应关系控制流量进入应用服务实例中,使得服务网格可以稳定控制将流量引入应用服务实例的速度,避免了相关技术中由于难以稳定控制向应用服务实例引入流量,而导致超出负载能力的问题。
在实际应用中,本说明书可以预先在控制层部署预热规则集合,该预热规则集合中包含若干与不同属性信息相匹配的预热规则,其中,每一预热规则均包含若干组负载比例与预热时长的对应关系。在实际配置的过程中,本领域技术人员可以针对不同属性信息的工作负载分别配置预热规则,以在根据预热规则向应用服务实例引入流量的过程中,保证新建工作负载的预热效果。
在部署预热规则集合之后,控制层即可在检测到针对微服务创建有新建工作负载的情况下,获取该新建工作负载的属性信息,并在预先配置的预热规则集合中确定出与该属性信息相匹配的目标预热规则。该目标预热规则被下发至新建工作负载的服务网格代理实例中,进而使得服务网格代理实例可以根据接收到的目标预热规则中规定的负载比例与预热时长的对应关系,向应用服务实例中引入流量,以对新建工作负载进行预热。
举例而言,若检测到针对微服务C创建了新建工作负载,即可获取新建工作负载的属性信息,以用于确定与该新建工作负载相匹配的目标预热规则。在实际应用中,该属性信息可以包含多个方面的信息,例如,该属性信息可以包含下述至少之一:微服务的版本信息、微服务的类型信息、受控端的硬件实时负载信息、工作负载本身的类型信息、工作负载本身的版本信息。具体的,该属性信息为何种信息可由本领域技术人员根据实际情况确定,本说明书对此不作限制。
在本说明书中,微服务可能在使用过程中发生升级,进而导致上述新建工作负载也发生相应的更新。因此,本说明书还可以对新建工作负载的属性信息进行监测,并在该属性信息发生变更的情况下,在预热规则集合中重新确定与变更后的属性信息相匹配的预热规则,进而将重新确定的预热规则下发至服务网格代理实例中,以由服务网格代理实例根据接收到的预热规则中规定的负载比例与预热时长的对应关系,将流量引入应用服务实例中,进而对该新建工作负载进行重新预热。通过该方式,避免了由于新建工作负载发生更新后,未对其进行重新预热,而导致引入的流量超出应用服务实例的负载能力的情况。
步骤204,将所述预热规则下发至所述服务网格代理实例,以使所述服务网格代理实例按照所述预热规则管理流入所述应用服务实例的流量。
在本说明书中,在不同情况下,可以将不同类型的流量用于对新建工作负载进行预热。
正如上文所述,对于任一微服务,通常包含至少一个工作负载,才能提供相应的服务。在本说明书中可以将微服务中原本就存在的工作负载称作原有工作负载。在一种情况下,可以将原有工作负载包含的应用服务实例所承载的至少一部分流量,作为用于对新建工作负载进行预热的流量,即新建工作负载中的服务网格代理服务可以将这至少一部分流量按照配置的预热规则引入新建工作负载的应用服务实例中。在另一种情况下,也可以将与原有工作负载无关的新流量作为用于对新建工作负载进行预热的流量,即新建工作负载中的服务网格代理服务可以将与原有工作负载无关的新流量,如从网络中获取的流量,按照配置的预热规则引入新建工作负载中的应用服务实例。
应当理解的是,在将原有工作负载中的流量作为用于对新建工作负载进行预热的流量的情况下,相当于是通过新建工作负载分担原有工作负载的负载压力,即在原有工作负载和新建工作负载之间进行了负载均衡,避免了由于原有工作负载的负载压力过大而影响流量处理效率的问题。
在本说明书中,服务网格代理实例可以通过控制流量大小的方式,使得应用服务实例在不同运行时长下的负载比例符合配置的预热规则。
在一种情况下,应用服务实例的运行时长在达到预热规则中定义的任一预热时长时,服务网格代理实例可以调整向应用服务实例引入流量的大小,以使应用服务实例的负载比例符合预热规则中定义的对应于该任一预热时长的负载比例。换言之,在该情况下,是将运行时长达到该任一预设时长作为“将应用服务实例中的负载比例调整至预热规则中与该任一时长对应的负载比例”的触发条件,即在达到该任一预设时长时开始调整流量大小,以使实际负载比例逐渐达到与该任一预热时长对应的负载比例。
在另一种情况下,应用服务实例的运行时长在达到预热规则中定义的任一预热时长时,服务网格代理实例可以调整向应用服务实例引入流量的大小,以使应用服务实例的运行时长在达到下一预热时长时,其实际负载比例符合预热规则中定义的对应于该下一预热时长的负载比例。换言之,在该情况下,是将运行时长达到该任一预设时长作为“将应用服务实例中的负载比例调整至预热规则中与该任一预热时长的下一预热时长对应的负载比例”的触发条件,即在达到该任一预设时长时开始调整流量大小,以使实际负载比例逐渐达到与下一预热时长对应的负载比例。
由上述技术方案可知,本说明书中服务网格中的控制层,在检测到针对微服务创建有新建工作负载的情况下,会优先为该新建工作负载配置预热规则,以使新建工作负载中的服务网格代理实例能够根据该预热规则中包含的预热时长与负载比例之间的对应关系,将流量逐渐引入新建工作负载的应用服务实例中。应当理解的是,由于本说明书是根据预热规则将流量逐渐引入新建工作负载的应用服务实例中,显然能够稳定控制流量的传输速度,进而使得应用服务实例能够逐渐适应自身的负载能力,避免了相关技术中由于流量引入过快,而导致引入的流量超出应用服务实例的负载能力(由于新建工作负载的负载能力均有其包含的应用服务实例提供,因此,也可以如上文将其称作新建工作负载的负载能力)的情况。
进一步的,本说明书还可以配置一预热规则集合,其中,该预热规则集合中包含了若干与不同属性信息相匹配的预热规则,且每一预热规则包含若干组预热时长与负载比例之间的对应关系。在此基础上,控制层在检测到针对微服务创建有新建工作负载的情况下,可以获取该新建工作负载的属性信息,以为其配置与其属性信息相匹配的预热规则。通过该方式,使得本说明书可以为属性信息不同的工作负载进行针对性的预热规则配置,进而保证基于预热规则对新建工作负载进行预热的效果。
如前所述,相关技术中允许新建工作负载调用可用范围内的所有处理资源以用于预热的处理方式,使得服务网格代理实例在向新建工作负载的应用服务实例中引入流量的过程中,引入流量的速度取决于其可动用的处理资源,并非稳定可控,也极易出现上述超出新建工作负载的负载能力的情况,进而引发应用崩溃。而在本说明书中,正如上文所述可以稳定控制流量进入应用服务实例的速度,显然能够解决相关技术中无法稳定控制流量引入速度,而导致超出新建工作负载的负载能力的情况。除此之外,在相关技术的上述处理方式中,用于对新建工作负载进行预热的代码被编写于微服务应用的程序代码中,为侵入式代码。而在本说明书的技术方案中,通过预先部署的预热规则,对新建工作负载进行预热,无需将用于预热的代码植入微服务应用的程序代码中,为非侵入式代码,适用于多语言多框架场景。
在本说明书中,还公开了另一种基于服务网格的工作负载预热方法。该方法应用于针对微服务创建的新建工作负载包含的服务网格代理实例,下面结合图3对该实施例进行描述。需要声明的是,在该方法中,大多操作方式,例如,如何对预热规则进行配置、如何将流量引入新建工作负载的应用服务实例中,均与上一实施例相类似,只不过执行主体转变为服务网格代理实例罢了,具体方式可参照上一实施例的介绍,在下一实施例中不再赘述。
图3是本说明书一示例性实施例示出的另一种基于服务网格的工作负载预热方法的流程图。如图3所示,该方法可以包括以下步骤:
步骤302,接收为新建工作负载配置的预热规则,所述新建工作负载包含对应于微服务的应用服务实例和对应于所述服务网格的服务网格代理实例;其中,所述预热规则用于定义所述应用服务实例的负载比例与预热时长的对应关系,且所述预热时长与所述负载比例呈正相关。
如上所述,可以在数据层针对微服务创建新建工作负载,以提高微服务的服务能力,或扩大服务范围。在此基础上,控制层即可为新建工作负载配置预热规则,以使新建工作负载中的服务网格代理实例可以根据该预热规则中规定的预热时长与负载比例的对应关系,将流量引入新建工作负载的应用服务实例中,进而实现对新建工作负载的预热。
如上所述,本说明书可以在控制层部署预热规则集合,该预热规则集合中包含若干与不同属性信息相匹配的预热规则,其中,每一预热规则均包含若干组负载比例与预热时长的对应关系。在实际配置的过程中,本领域技术人员可以针对不同属性信息的工作负载分别配置预热规则,以在根据预热规则向新建工作负载的应用服务实例引入流量的过程中,保证新建工作负载的预热效果。
在实际应用中,既可以由控制层监测在数据层中是否针对微服务创建有新建工作负载,以在检测到的情况下,主动向数据层请求新建工作负载的属性信息,并从预热规则集合中确定出与获取到的属性信息相匹配的预热规则,进而将确定出的预热规则返回至新建工作负载中包含的服务网格代理实例处,在此基础上,服务网格代理实例即可根据接收到的预热规则中定义的预热时长与负载比例的对应关系,将流量引入新建工作负载的应用服务实例中,以实现对新建工作负载的预热;当然,也可以在针对微服务创建有新建工作负载后,由数据层主动向控制层上传新建工作负载的属性信息,以在控制层中部署的预热规则集合中匹配预热规则。具体的,如何为新建工作负载配置预热规则,可由本领域技术人员根据实际需求确定,本说明书对此不作限制。
步骤304,按照所述预热规则管理流入所述应用服务实例的流量。
如上所述,在检测到新建工作负载的属性信息发生变更的情况下,数据层还可以将变更后的属性信息上传至控制层,以在控制层部署的预热规则集合中,确定出与变更后的属性信息相匹配的预热规则,并将匹配到的预热规则返回;相应的,新建工作负载中的服务网格代理实例在接收到由控制层根据变更后的属性信息返回的预热规则之后,即可按照该预热规则中规定的负载比例与预热时长的对应关系,将流量引入所述新建工作负载的应用服务实例中,以对新建工作负载进行重新预热。通过该方式,避免了由于新建工作负载发生更新后,未对其进行重新预热而导致引入流量超出新建工作负载的负载能力的情况。
如上所述,对于任一微服务,通常包含至少一个工作负载,才能提供相应的服务。在本说明书中可以将微服务中原本就存在的工作负载称作原有工作负载。在一种情况下,可以将原有工作负载包含的应用服务实例所承载的至少一部分流量,作为用于对新建工作负载进行预热的流量,即新建工作负载中的服务网格代理服务可以将这至少一部分流量按照配置的预热规则引入新建工作负载中的应用服务实例。在另一种情况下,也可以将与原有工作负载无关的新流量作为用于对新建工作负载进行预热的流量,即新建工作负载中的服务网格代理服务可以将与原有工作负载无关的新流量,如从网络中获取的流量,按照配置的预热规则引入新建工作负载中的应用服务实例。
如上所述,服务网格代理实例可以通过控制流量大小的方式,使得应用服务实例在不同运行时长下的负载比例符合配置的预热规则。
在一种情况下,应用服务实例的运行时长在达到预热规则中定义的任一预热时长时,服务网格代理实例可以调整向应用服务实例引入流量的大小,以使应用服务实例的负载比例符合预热规则中定义的对应于该任一预热时长的负载比例。在另一种情况下,应用服务实例的运行时长在达到预热规则中定义的任一预热时长时,服务网格代理实例可以调整向应用服务实例引入流量的大小,以使应用服务实例的运行时长在达到下一预热时长时,其实际负载比例符合预热规则中定义的对应于该下一预热时长的负载比例。
由上述技术方案可知,本说明书中服务网格中的控制层,在检测到针对微服务创建有新建工作负载的情况下,会优先为该新建工作负载配置预热规则,以使新建工作负载中的服务网格代理实例能够根据该预热规则中包含的预热时长与负载比例之间的对应关系,将流量逐渐引入新建工作负载的应用服务实例中。应当理解的是,由于本说明书是根据预热规则将流量逐渐引入新建工作负载的应用服务实例中,显然能够稳定控制流量的传输速度,进而使得应用服务实例能够逐渐适应自身的负载能力,避免了相关技术中由于流量引入过快,而导致引入的流量超出应用服务实例的负载能力的情况。
下面,以基于微服务框架Kubernetes搭建的某云原生应用为例,针对该云原生应用中某一微服务的新建工作负载,结合图4介绍如何通过本说明书的技术方案对该新建工作负载实现渐进式预热控制。该云原生应用在本实施例中基于微服务架构进行部署,因此可以将其视为上文所述的微服务应用。除此之外,本实施例可以将任一种服务网格集成至上述Kubernetes,以实现对云原生应用的控制管理。例如,该服务网格可以为相关技术中的Istio或Linkerd这两种服务网格中的任一种,具体采用哪一种服务网格可由本领域技术人员根据实际需求确定,本说明书对此不作限制。
图4为本说明书一示例性实施例示出的一种对新建工作负载进行渐进式预热的逻辑交互图。如图4所示,该方法可以包括以下步骤:
步骤401,预热规则控制器指示工作负载控制器对数据层中的工作负载进行监测。
在本实施例中,可以在控制层中部署若干控制器,以用于控制执行各种指令。例如,可以部署如图4所示的预热规则控制器、工作负载控制器、属性信息监听器、预热规则配置器。
在完成控制器的部署之后,开发人员即可通过云原生声明式API向预热规则控制器中输入预热规则集合的具体内容,进而在控制层完成预热规则集合的部署。
在完成预热规则集合的部署后,预热规则控制器即可指示工作负载控制器对数据层中的工作负载进行监测,以确定数据层中是否创建有新建工作负载。
在实际应用中,当微服务需要扩大服务范围、或增强服务能力时,即可针对该微服务创建新建工作负载。具体的,可以调用预先部署于数据层的微服务源代码,并根据该源代码创建新建工作负载。
举例而言,上述云原生应用可以为即时通讯应用,本实施例所针对的微服务可以为该即时通讯应用中用于提供语音输入功能的微服务X。假设开发人员当前想要提升即时通讯应用的语音识别准确率,便可以根据预先部署于数据层中的微服务X的源代码,创建新建工作负载。若微服务X包含的原有工作负载为:负载a;那么,此时创建的工作负载可以为负载b。
步骤402,工作负载控制器在检测到数据层中创建有新建工作负载的情况下,指示属性信息监听器获取新建工作负载的属性信息。
在工作负载控制器检测到创建有新建工作负载的情况下,即可将该信息告知属性信息监听器,以由其从数据层获取新建工作负载的属性信息。在本实施例中,可以将新建工作负载所属微服务的版本和类型信息,作为新建工作负载的属性信息,
承接上述举例,假设微服务X的类型信息为:语音类;版本信息为:版本10.1。那么,属性信息监听器即可从数据层获取“语音类、版本10.1”这一属性信息。
步骤403,属性信息监听器将获取到的属性信息上传至预热规则控制器。
在属性信息监听器获取到新建工作负载的属性信息后,即可将该属性信息上传至预热规则控制器,以由其为新建工作负载匹配预热规则。
步骤404,预热规则控制器根据接收到的属性信息在预先部署的预热规则集合中匹配目标预热规则。
预热规则控制器在接收到属性信息后,即可在预先部署的预热规则集合中确定出与该属性信息匹配的目标预热规则。
承接上述举例,预先配置于控制端中的预热规则可以如下表1所示:
Figure BDA0003357843700000091
表1
那么,预热规则控制器即可根据“语音类、版本10.1”这一属性信息,从上表所示的预热规则集合中匹配得到“10s/30%、20s/50%、30s/65%…70s/88%、80s/96%、90s/100%”这一目标预热规则,并将该目标预热规则下发并配置于负载b的服务网格代理实例b’中。
步骤405,预热规则控制器指示预热规则配置器将目标预热规则下发并配置于新建工作负载的服务网格代理实例中。
在完成部署后,目标预热规则在服务网格代理实例中的代码可以如下:
warmupDuration:[10,20,30…70,80,90];
warmupWeight:[30,50,65…88,96,100]。
其中,warmupDuration表征预热时长,warmupWeight表征负载比例。
步骤406,服务网格代理实例,按照目标预热规则将流量引入应用服务实例中。
在本实施例中,在服务网格代理实例完成目标预热规则的部署后,即可根据该目标预热规则将流量引入应用服务实例中,以对新建工作负载进行预热。
承接上述举例,负载b中的服务网格代理实例b’在将流量逐步引入负载b的应用服务实例b”的过程中,应当保证在预热时长达到10秒时,应用服务实例b”中的负载比例为20%;在预热时长达到20秒时,应用服务实例b”中的负载比例为50%;在预热时长达到30秒时,应用服务实例b”中的负载比例为65%;直至预热时长达到90秒时,应用服务实例b”中的负载比例达到100%。
需要声明的是,引入应用服务实例b”的流量既可以来自于网络,也可以来自微服务X的原有工作负载。具体的,假设负载a中包含应用服务实例a”和服务网格代理实例a’,那么,在用于预热的流量来自于负载a时,即可由服务网格代理实例a’和服务网格代理实例b’交互,以从应用服务实例a”往应用服务实例b”传输流量。
其中,在将流量由应用服务实例a”传输至应用服务实例b”的情况下,服务网格代理实例b’中的设置代码可以如下:
kind:Pod
app:httpbin
category:primary
....
kind:Pod
app:httpbin
category:canary
上述代码中,httpbin为上述云原生应用的标签,primary用于表征原有工作负载,而canary则用于表征新建工作负载。整段代码用于表征从原有工作负载中获取用于对新建工作负载进行预热的流量。
在实际的代码运行中,还会记录达到各个预热时长时,原有工作负载与新建工作负载的负载权重。具体的,假设负载a在向负载b传输流量的过程中,仍从网络中不断获取流量,使得自身始终保持满载状态,即负载比例为100%。那么,负载a和负载b在整个应用中的负载权重可以如下:
在预热时长达到10秒时,负载b中的负载比例为20%,负载a在整个应用中的负载权重为“100%/(100%+20%)=83.3%”,负载b在整个应用中的负载权重为“20%/(100%+20%)=16.7%”,此时,代码记录的负载权重可以如下:
Figure BDA0003357843700000111
在预热时长达到20秒时,负载b中的负载比例为50%,负载a在整个应用中的负载权重为“100%/(100%+50%)=66.7%”,负载b在整个应用中的负载权重为“50%/(100%+50%)=33.3%”,此时,代码记录的负载权重可以如下:
Figure BDA0003357843700000112
在预热时长达到30秒时,负载b中的负载比例为65%,负载a在整个应用中的负载权重为“100%/(100%+65%)=60.6%”,负载b在整个应用中的负载权重为“65%/(100%+65%)=39.4%”此时,代码记录的负载权重参照上述举例,在此不再赘述。
在预热时长达到第90秒时,负载b中的负载比例达到100%,负载a和负载b在整个应用中的负载权重均为“100%/(100%+100%)=50%”,此时,代码记录的负载权重也可以参照上述举例,在此不再赘述。
在上述代码中,还提及Pod这一概念。实际上,无论是应用服务实例还是服务网格代理实例,在实际运行时均需要承载于相应的运行环境,该运行环境通常由相应的容器提供。而不同的容器之间又可以组成容器组,该容器组在Kubernetes框架中便被称作Pod。以上述负载a和负载b为例,两者均为针对微服务X创建的工作负载,那么负载a中的应用服务实例a”、服务网格代理实例a’,以及负载b中的应用服务实例b”、服务网格代理实例b’均需要承载于相应的容器运行。假设应用服务实例a”承载于容器1、服务网格代理实例a’承载于容器2、应用服务实例b”承载于容器3、服务网格代理实例b’承载于容器4。那么,可以将容器1、2、3、4按照需求组成若干Pod,通常情况下,由于同一Pod中的多个容器共用同一IP,因此,会将容器1和容器2安排至同一Pod中,如容器1和容器2共同组成Pod1,以保证可以通过服务网格代理实例a’将流量引入应用服务实例a”中;相应的,可以将容器3和容器4安排至同一Pod中,如容器3和容器4共同组成Pod2,以保证可以通过服务网格代理实例b’将流量引入应用服务实例b”中。当然,该举例仅是示意性的,具体如何部署各个应用服务实例和服务网格代理实例的容器,可由本领域技术人员根据实例需求确定,本实施例对此不作限制。
由上述技术方案可知,通过本实施例的技术方案,在数据层中针对微服务创建有新建工作负载的情况下,可以将新建工作负载的属性信息上传至控制层,以由控制层中的预热规则控制器根据该属性信息从预先配置的预热规则集合中确定出与该新建工作负载相匹配的预热规则。匹配得到的预热规则将被返回至新建工作负载中的服务网格代理实例,以由该服务网格代理实例根据该预热规则中规定的预热时长与负载比例的对应关系,逐步将流量引入新建工作负载的应用服务实例中,进而实现对新建工作负载的预热。通过该方式,使得流量可以逐步进入新建工作负载的应用服务实例中,避免了相关技术中难以稳定控制将流量引入新建工作负载的速度,而超出负载能力的问题。
图5是一示例性实施例提供的一种设备的示意结构图。请参考图5,在硬件层面,该设备包括处理器502、内部总线504、网络接口506、内存508以及非易失性存储器510,当然还可能包括其他功能所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器502从非易失性存储器510中读取对应的计算机程序到内存508中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图6,基于服务网格的工作负载预热装置可以应用于如图5所示的设备中,以实现本说明书的技术方案。其中,该基于服务网格的工作负载预热装置可以包括:
配置单元601,响应于检测到针对微服务创建的新建工作负载,为所述新建工作负载配置预热规则;所述新建工作负载包含对应于所述微服务的应用服务实例和对应于所述服务网格的服务网格代理实例;所述预热规则用于定义所述应用服务实例的负载比例与预热时长的对应关系,且所述预热时长与所述负载比例呈正相关;
下发单元602,将所述预热规则下发至所述服务网格代理实例,以使所述服务网格代理实例按照所述预热规则管理流入所述应用服务实例的流量。
可选的,配置单元601被进一步用于:
获取所述新建工作负载的属性信息;
在预设的预热规则集合中确定与所述属性信息相匹配的目标预热规则,以用于配置所述新建工作负载。
可选的,所述预热规则用于使所述服务网格代理实例:
将原有工作负载中的应用服务实例所承载的至少一部分流量按照所述预热规则分担至所述新建工作负载中的应用服务实例;或者,
将与所述原有工作负载无关的新流量按照所述预热规则引入所述新建工作负载中的应用服务实例。
可选的,所述预热规则用于使所述服务网格代理实例:
在所述应用服务实例的运行时长达到所述预热规则中定义的任一预热时长时,调整向所述应用服务实例引入流量的大小,以使所述应用服务实例的负载比例符合所述预热规则中定义的对应于所述任一预设时长的负载比例。
请参考图7,基于服务网格的工作负载预热装置可以应用于如图5所示的设备中,以实现本说明书的技术方案。其中,该基于服务网格的工作负载预热装置可以包括:
接收单元701,接收为新建工作负载配置的预热规则,所述新建工作负载包含对应于微服务的应用服务实例和对应于所述服务网格的服务网格代理实例;其中,所述预热规则用于定义所述应用服务实例的负载比例与预热时长的对应关系,且所述预热时长与所述负载比例呈正相关;
管理单元702,按照所述预热规则管理流入所述应用服务实例的流量。
可选的,管理单元702被进一步用于:
将原有工作负载中的应用服务实例所承载的至少一部分流量按照所述预热规则分担至所述新建工作负载中的应用服务实例;或者,
将与所述原有工作负载无关的新流量按照所述预热规则引入所述新建工作负载中的应用服务实例。
可选的,管理单元702被进一步用于:
在所述应用服务实例的运行时长达到所述预热规则中定义的任一预热时长时,调整向所述应用服务实例引入流量的大小,以使所述应用服务实例的负载比例符合所述预热规则中定义的对应于所述任一预设时长的负载比例。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。

Claims (11)

1.一种基于服务网格的工作负载预热方法,其特征在于,包括:
响应于检测到针对微服务创建的新建工作负载,为所述新建工作负载配置预热规则;所述新建工作负载包含对应于所述微服务的应用服务实例和对应于所述服务网格的服务网格代理实例;所述预热规则用于定义所述应用服务实例的负载比例与预热时长的对应关系,且所述预热时长与所述负载比例呈正相关;
将所述预热规则下发至所述服务网格代理实例,以使所述服务网格代理实例按照所述预热规则管理流入所述应用服务实例的流量。
2.根据权利要求1所述的方法,其特征在于,所述为所述新建工作负载配置预热规则,包括:
获取所述新建工作负载的属性信息;
在预设的预热规则集合中确定与所述属性信息相匹配的目标预热规则,以用于配置所述新建工作负载。
3.根据权利要求1所述的方法,其特征在于,所述预热规则用于使所述服务网格代理实例:
将原有工作负载中的应用服务实例所承载的至少一部分流量按照所述预热规则分担至所述新建工作负载中的应用服务实例;或者,
将与所述原有工作负载无关的新流量按照所述预热规则引入所述新建工作负载中的应用服务实例。
4.根据权利要求1所述的方法,其特征在于,所述预热规则用于使所述服务网格代理实例:
在所述应用服务实例的运行时长达到所述预热规则中定义的任一预热时长时,调整向所述应用服务实例引入流量的大小,以使所述应用服务实例的负载比例符合所述预热规则中定义的对应于所述任一预设时长的负载比例。
5.一种基于服务网格的工作负载预热方法,其特征在于,包括:
接收为新建工作负载配置的预热规则,所述新建工作负载包含对应于微服务的应用服务实例和对应于所述服务网格的服务网格代理实例;其中,所述预热规则用于定义所述应用服务实例的负载比例与预热时长的对应关系,且所述预热时长与所述负载比例呈正相关;
按照所述预热规则管理流入所述应用服务实例的流量。
6.根据权利要求5所述的方法,其特征在于,所述按照所述预热规则管理流入所述应用服务实例的流量,包括:
将原有工作负载中的应用服务实例所承载的至少一部分流量按照所述预热规则分担至所述新建工作负载中的应用服务实例;或者,
将与所述原有工作负载无关的新流量按照所述预热规则引入所述新建工作负载中的应用服务实例。
7.根据权利要求5所述的方法,其特征在于,所述按照所述预热规则管理流入所述应用服务实例的流量,包括:
在所述应用服务实例的运行时长达到所述预热规则中定义的任一预热时长时,调整向所述应用服务实例引入流量的大小,以使所述应用服务实例的负载比例符合所述预热规则中定义的对应于所述任一预设时长的负载比例。
8.一种基于服务网格的工作负载预热装置,其特征在于,包括:
配置单元,响应于检测到针对微服务创建的新建工作负载,为所述新建工作负载配置预热规则;所述新建工作负载包含对应于所述微服务的应用服务实例和对应于所述服务网格的服务网格代理实例;所述预热规则用于定义所述应用服务实例的负载比例与预热时长的对应关系,且所述预热时长与所述负载比例呈正相关;
下发单元,将所述预热规则下发至所述服务网格代理实例,以使所述服务网格代理实例按照所述预热规则管理流入所述应用服务实例的流量。
9.一种基于服务网格的工作负载预热装置,其特征在于,包括:
接收单元,接收为新建工作负载配置的预热规则,所述新建工作负载包含对应于微服务的应用服务实例和对应于所述服务网格的服务网格代理实例;其中,所述预热规则用于定义所述应用服务实例的负载比例与预热时长的对应关系,且所述预热时长与所述负载比例呈正相关;
管理单元,按照所述预热规则管理流入所述应用服务实例的流量。
10.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1-7中任一项所述的方法。
11.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如权利要求1-7中任一项所述方法的步骤。
CN202111357500.7A 2021-11-16 2021-11-16 基于服务网格的工作负载预热方法及装置 Pending CN114244898A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111357500.7A CN114244898A (zh) 2021-11-16 2021-11-16 基于服务网格的工作负载预热方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111357500.7A CN114244898A (zh) 2021-11-16 2021-11-16 基于服务网格的工作负载预热方法及装置

Publications (1)

Publication Number Publication Date
CN114244898A true CN114244898A (zh) 2022-03-25

Family

ID=80749695

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111357500.7A Pending CN114244898A (zh) 2021-11-16 2021-11-16 基于服务网格的工作负载预热方法及装置

Country Status (1)

Country Link
CN (1) CN114244898A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114785760A (zh) * 2022-05-07 2022-07-22 阿里巴巴(中国)有限公司 服务预热方法、设备、介质及产品
CN115834708A (zh) * 2022-11-23 2023-03-21 中科驭数(北京)科技有限公司 负载均衡方法、装置、设备及计算机可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170339121A1 (en) * 2016-05-20 2017-11-23 Sap Se Application managed service instances
US20200104749A1 (en) * 2018-09-28 2020-04-02 Amazon Technologies, Inc. Pre-warming scheme to load machine learning models
EP3667498A1 (en) * 2018-12-13 2020-06-17 Sap Se Amplifying scaling elasticity of microservice meshes
US20200241864A1 (en) * 2019-01-29 2020-07-30 Salesforce.Com, Inc. Cloud services release orchestration with a reusable deployment pipeline
CN111683109A (zh) * 2020-08-17 2020-09-18 烽火通信科技股份有限公司 一种微服务架构
CN112449005A (zh) * 2020-11-11 2021-03-05 北京健康之家科技有限公司 请求分配方法、装置、电子设备及可读存储介质
CN112910692A (zh) * 2021-01-19 2021-06-04 中原银行股份有限公司 基于微服务网关的服务网格流量控制方法、系统和介质
CN113285885A (zh) * 2021-07-23 2021-08-20 阿里云计算有限公司 基于服务网格的边缘流量控制方法、设备及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170339121A1 (en) * 2016-05-20 2017-11-23 Sap Se Application managed service instances
US20200104749A1 (en) * 2018-09-28 2020-04-02 Amazon Technologies, Inc. Pre-warming scheme to load machine learning models
EP3667498A1 (en) * 2018-12-13 2020-06-17 Sap Se Amplifying scaling elasticity of microservice meshes
US20200241864A1 (en) * 2019-01-29 2020-07-30 Salesforce.Com, Inc. Cloud services release orchestration with a reusable deployment pipeline
CN111683109A (zh) * 2020-08-17 2020-09-18 烽火通信科技股份有限公司 一种微服务架构
CN112449005A (zh) * 2020-11-11 2021-03-05 北京健康之家科技有限公司 请求分配方法、装置、电子设备及可读存储介质
CN112910692A (zh) * 2021-01-19 2021-06-04 中原银行股份有限公司 基于微服务网关的服务网格流量控制方法、系统和介质
CN113285885A (zh) * 2021-07-23 2021-08-20 阿里云计算有限公司 基于服务网格的边缘流量控制方法、设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114785760A (zh) * 2022-05-07 2022-07-22 阿里巴巴(中国)有限公司 服务预热方法、设备、介质及产品
CN115834708A (zh) * 2022-11-23 2023-03-21 中科驭数(北京)科技有限公司 负载均衡方法、装置、设备及计算机可读存储介质

Similar Documents

Publication Publication Date Title
JP6912583B2 (ja) サービス処理方法および装置
US11948014B2 (en) Multi-tenant control plane management on computing platform
US11005947B2 (en) Network information processing
CN114244898A (zh) 基于服务网格的工作负载预热方法及装置
CN108845876B (zh) 一种业务分配的方法及装置
CN109739627B (zh) 任务的调度方法、电子设备及介质
KR20160130491A (ko) 애플리케이션간 호출 중의 애플리케이션 디하이드레이션 및 리하이드레이션
JP2021535461A (ja) ウェブ・アプリケーション実行のためのクライアント・アプリケーション
TW202008762A (zh) 資料處理方法和裝置、客戶端、伺服器
CN111078353A (zh) 存储设备的操作方法及物理服务器
US10162636B2 (en) Control apparatus, integrated circuit and management method for stack
CN112600931A (zh) 一种api网关部署方法及装置
CN110968333B (zh) 配置信息替换方法和装置、机器可读存储介质及处理器
JP2020194521A (ja) 仮想マシンを起動させるための方法、装置、デバイス及び媒体
US9348667B2 (en) Apparatus for managing application program and method therefor
CN114327941A (zh) 一种服务提供方法及装置
CN111435320B (zh) 一种数据处理方法及其装置
CN114625410A (zh) 一种请求消息处理方法、装置及设备
CN114827177A (zh) 一种分布式文件系统的部署方法、装置及电子设备
US11893391B2 (en) Processing computing jobs via an acceleration device
CN110032404B (zh) 一种刷新任务的管理方法及装置
US10846246B2 (en) Trans-fabric instruction set for a communication fabric
CN113867776A (zh) 中台应用的发布方法、装置、电子设备和存储介质
CN113918290A (zh) 一种api调用方法以及装置
US20240160501A1 (en) Interoperability between actor frameworks and asynchronous frameworks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination