CN113918193A - 适用于微服务的灰度调用方法、装置、设备及存储介质 - Google Patents
适用于微服务的灰度调用方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113918193A CN113918193A CN202111267973.8A CN202111267973A CN113918193A CN 113918193 A CN113918193 A CN 113918193A CN 202111267973 A CN202111267973 A CN 202111267973A CN 113918193 A CN113918193 A CN 113918193A
- Authority
- CN
- China
- Prior art keywords
- service
- micro
- thread
- request
- identifier
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 114
- 238000003860 storage Methods 0.000 title claims abstract description 15
- 230000008569 process Effects 0.000 claims abstract description 72
- 238000004590 computer program Methods 0.000 claims description 12
- 230000005540 biological transmission Effects 0.000 abstract description 5
- 239000003550 marker Substances 0.000 description 8
- 238000000926 separation method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 241000287219 Serinus canaria Species 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及微服务技术领域,揭示了一种适用于微服务的灰度调用方法、装置、设备及存储介质,其中方法包括:根据业务请求携带的信息确定是否在与业务请求对应的业务流程的请求线程的上下文中添加灰度标识;当添加了灰度标识时将请求线程作为当前线程,执行当前线程启动业务流程;从业务流程中获取目标微服务标识;根据灰度标识和目标微服务标识生成微服务线程,将微服务线程作为当前线程;执行当前线程根据业务请求调用目标微服务标识对应的灰度微服务得到微服务返回结果;根据微服务返回结果重复遍历业务流程的步骤;将业务流程的执行结果作为目标业务结果。实现了将灰度标识在各个线程中传递,使灰度流量始终采用灰度微服务进行执行。
Description
技术领域
本申请涉及到微服务技术领域,特别是涉及到一种适用于微服务的灰度调用方法、装置、设备及存储介质。
背景技术
灰度发布,也叫金丝雀发布,是一种在不停机的条件下,平滑地升级现有应用的方式。灰度发布相比于滚动发布,灰度发布选择的维度可以是请求、用户、设备、地理位置等等。灰度发布相比于蓝绿发布,灰度发布无需付出额外的硬件成本。业内的灰度发布,一般都是针对单个应用发布,通过在调用应用前使用预设配置,或者执行动态脚本的形式将请求流转到合适的版本。然而,随着微服务的兴起与单体应用的衰落,越来越多的情况是一个需求是由多个应用配合完成,这实质上要求在灰度发布时,在调用链路上灰度流量应该始终在灰度版本上处理。单个应用的灰度会由于维度不一致、参数缺失等因素,导致灰度流量流到非灰度版本。
为了解决上述问题,业界采用重新搭建一套灰度环境,将应用交互隔离在灰度环境,但配置及存储等方面仍与非灰度环境共用。此方案一方面是成本较高,另一方面是隔离不完整。比如定时任务获取到的数据没有隔离,导致流量逃逸到非灰度环境。
发明内容
本申请的主要目的为提供一种适用于微服务的灰度调用方法、装置、设备及存储介质,旨在解决现有技术在微服务架构中采用重新搭建一套灰度环境,将应用交互隔离在灰度环境,但配置及存储等方面仍与非灰度环境共用的方法进行灰度发布,存在成本较高,隔离不完整导致流量逃逸到非灰度环境的技术问题。
为了实现上述发明目的,本申请提出一种适用于微服务的灰度调用方法,所述方法包括:
获取业务请求;
获取与所述业务请求对应的业务流程,根据所述业务请求携带的信息确定是否在所述业务流程的请求线程的上下文中添加灰度标识,得到添加结果;
当所述添加结果为添加时,将所述请求线程作为当前线程,执行所述当前线程启动所述业务流程;
采用遍历的方式,从所述业务流程中获取一个节点对应的微服务标识作为目标微服务标识;
根据所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成微服务线程,将所述微服务线程作为所述当前线程;
执行所述当前线程,根据所述业务请求调用所述目标微服务标识对应的灰度微服务,得到微服务返回结果;
根据所述微服务返回结果重复执行所述采用遍历的方式,从所述业务流程中获取一个节点对应的微服务标识作为目标微服务标识的步骤,直至完成所述业务流程的遍历或获取到流程结束信号;
获取所述业务流程的执行结果作为所述业务请求对应的目标业务结果。
进一步的,所述获取业务请求的步骤,包括:
获取服务网关发送的所述业务请求,其中,所述服务网关用于:
获取目标应用发送的应用调用请求;
判断所述应用调用请求是否携带有所述灰度标识;
当所述应用调用请求携带有所述灰度标识时,根据所述应用调用请求携带的信息发送所述业务请求,其中,将所述灰度标识作为所述业务请求携带的参数;
当所述应用调用请求未携带所述灰度标识时,判断所述应用调用请求是否携带有目标用户标识;
当携带有所述目标用户标识时,根据所述目标用户标识获取用户信息,得到目标用户信息,根据所述目标用户信息判断所述目标用户标识对应的目标用户是否为灰度用户,当所述目标用户为所述灰度用户时,根据所述灰度标识和所述应用调用请求携带的信息发送所述业务请求;
当未携带有所述目标用户标识时,根据所述应用调用请求携带的应用标识判断所述目标应用是否为灰度应用,当所述目标应用是所述灰度应用时,根据所述灰度标识和所述应用调用请求携带的信息发送所述业务请求,当所述目标应用不是所述灰度应用时,根据所述应用调用请求携带的信息发送所述业务请求。
进一步的,所述根据所述业务请求携带的信息确定是否在所述业务流程的请求线程的上下文中添加灰度标识,得到添加结果的步骤,包括:
判断所述业务请求是否携带所述灰度标识;
当所述业务请求携带有所述灰度标识时,则在所述业务流程的所述请求线程的上下文中添加所述灰度标识,确定所述添加结果为添加;
当所述业务请求未携带所述灰度标识时,则确定所述添加结果为未添加。
进一步的,所述根据所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成微服务线程的步骤,包括:
从所述业务流程中获取与所述目标微服务标识对应的线程创建类型;
根据与所述目标微服务标识对应的所述线程创建类型、所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成所述微服务线程。
进一步的,所述根据与所述目标微服务标识对应的所述线程创建类型、所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成所述微服务线程的步骤,包括:
当所述线程创建类型为当前线程创建时,执行所述当前线程创建所述微服务线程,其中,在创建所述微服务线程时,将所述当前线程的上下文中的所述灰度标识和所述目标微服务标识作为所述微服务线程携带的参数;
当所述线程创建类型为线程池创建时,执行所述当前线程,根据所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成线程创建任务;
将所述线程创建任务发送给线程池;
在所述线程池中,根据所述线程创建任务携带的所述灰度标识和所述目标微服务标识生成所述微服务线程。
进一步的,所述执行所述当前线程,根据所述业务请求调用所述目标微服务标识对应的灰度微服务,得到微服务返回结果的步骤,包括:
执行所述当前线程,根据所述业务请求调用所述目标微服务标识对应的所述灰度微服务;
获取所述目标微服务标识对应的所述灰度微服务发送的所述微服务返回结果,其中,所述目标微服务标识对应的所述灰度微服务用于:
根据微服务数据库和所述业务请求进行业务实现,得到业务实现数据;
将所述灰度标识和所述业务实现数据作为关联数据更新所述微服务数据库;
根据所述业务实现数据发送所述微服务返回结果。
进一步的,所述执行所述当前线程,根据所述业务请求调用所述目标微服务标识对应的灰度微服务,得到微服务返回结果的步骤,还包括:
当所述目标微服务标识对应的所述灰度微服务是定时任务微服务时,所述目标微服务标识对应的所述灰度微服务用于根据所述灰度标识、微服务数据库和所述业务请求进行定时任务创建,得到目标定时任务;
根据所述目标定时任务发送所述微服务返回结果。
本申请还提出了一种适用于微服务的灰度调用装置,所述装置包括:
请求获取模块,用于获取业务请求;
添加结果确定模块,用于获取与所述业务请求对应的业务流程,根据所述业务请求携带的信息确定是否在所述业务流程的请求线程的上下文中添加灰度标识,得到添加结果;
业务流程启动模块,用于当所述添加结果为添加时,将所述请求线程作为当前线程,执行所述当前线程启动所述业务流程;
目标微服务标识确定模块,用于采用遍历的方式,从所述业务流程中获取一个节点对应的微服务标识作为目标微服务标识;
微服务线程确定模块,用于根据所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成微服务线程,将所述微服务线程作为所述当前线程;
微服务返回结果确定模块,用于执行所述当前线程,根据所述业务请求调用所述目标微服务标识对应的灰度微服务,得到微服务返回结果;
循环控制模块,用于根据所述微服务返回结果重复执行所述采用遍历的方式,从所述业务流程中获取一个节点对应的微服务标识作为目标微服务标识的步骤,直至完成所述业务流程的遍历或获取到流程结束信号;
目标业务结果确定模块,用于获取所述业务流程的执行结果作为所述业务请求对应的目标业务结果。
本申请还提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请的适用于微服务的灰度调用方法、装置、设备及存储介质,其中方法首先获取与所述业务请求对应的业务流程,根据所述业务请求携带的信息确定是否在所述业务流程的请求线程的上下文中添加灰度标识,得到添加结果,然后当所述添加结果为添加时,将所述请求线程作为当前线程,执行所述当前线程启动所述业务流程,采用遍历的方式,从所述业务流程中获取一个节点对应的微服务标识作为目标微服务标识,根据所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成微服务线程,将所述微服务线程作为所述当前线程,执行所述当前线程,根据所述业务请求调用所述目标微服务标识对应的灰度微服务,得到微服务返回结果,根据所述微服务返回结果重复执行所述采用遍历的方式,从所述业务流程中获取一个节点对应的微服务标识作为目标微服务标识的步骤,直至完成所述业务流程的遍历或获取到流程结束信号,最后获取所述业务流程的执行结果作为所述业务请求对应的目标业务结果,从而实现了将灰度标识在各个线程中传递,使灰度流量始终采用灰度微服务进行执行,避免灰度流量逃逸到非灰度环境;而且可以不需添加新的硬件,在非灰度环境的硬件上,采用逻辑分隔的形式创建灰度环境,降低了灰度发布的成本。
附图说明
图1为本申请一实施例的适用于微服务的灰度调用方法的流程示意图;
图2为本申请一实施例的适用于微服务的灰度调用装置的结构示意框图;
图3为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请实施例中提供一种适用于微服务的灰度调用方法,所述方法包括:
S1:获取业务请求;
S2:获取与所述业务请求对应的业务流程,根据所述业务请求携带的信息确定是否在所述业务流程的请求线程的上下文中添加灰度标识,得到添加结果;
S3:当所述添加结果为添加时,将所述请求线程作为当前线程,执行所述当前线程启动所述业务流程;
S4:采用遍历的方式,从所述业务流程中获取一个节点对应的微服务标识作为目标微服务标识;
S5:根据所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成微服务线程,将所述微服务线程作为所述当前线程;
S6:执行所述当前线程,根据所述业务请求调用所述目标微服务标识对应的灰度微服务,得到微服务返回结果;
S7:根据所述微服务返回结果重复执行所述采用遍历的方式,从所述业务流程中获取一个节点对应的微服务标识作为目标微服务标识的步骤,直至完成所述业务流程的遍历或获取到流程结束信号;
S8:获取所述业务流程的执行结果作为所述业务请求对应的目标业务结果。
本实施例首先获取与所述业务请求对应的业务流程,根据所述业务请求携带的信息确定是否在所述业务流程的请求线程的上下文中添加灰度标识,得到添加结果,然后当所述添加结果为添加时,将所述请求线程作为当前线程,执行所述当前线程启动所述业务流程,采用遍历的方式,从所述业务流程中获取一个节点对应的微服务标识作为目标微服务标识,根据所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成微服务线程,将所述微服务线程作为所述当前线程,执行所述当前线程,根据所述业务请求调用所述目标微服务标识对应的灰度微服务,得到微服务返回结果,根据所述微服务返回结果重复执行所述采用遍历的方式,从所述业务流程中获取一个节点对应的微服务标识作为目标微服务标识的步骤,直至完成所述业务流程的遍历或获取到流程结束信号,最后获取所述业务流程的执行结果作为所述业务请求对应的目标业务结果,从而实现了将灰度标识在各个线程中传递,使灰度流量始终采用灰度微服务进行执行,避免灰度流量逃逸到非灰度环境;而且可以不需添加新的硬件,在非灰度环境的硬件上,采用逻辑分隔的形式创建灰度环境,降低了灰度发布的成本。
对于S1,可以获取服务网关根据客户端或第三方应用系统的应用调用请求发送的业务请求。
业务请求,是调用一个或多个微服务实现业务操作的请求。
应用调用请求,可以是客户端或第三方应用系统针对服务端的外部调用请求发送的回调请求,也可以是客户端或第三方应用系统主动发送的调用请求。当应用调用请求是客户端或第三方应用系统针对服务端的外部调用请求发送的回调请求时,当外部调用请求携带有灰度标识时,应用调用请求中可能携带有灰度标识。
灰度标识,是标识符,用于标识请求需要调用灰度环境的微服务(灰度微服务)。
灰度微服务,是想要升级的版本的微服务。
相对灰度微服务有非灰度微服务。非灰度微服务,又称为正式微服务,是当前正在生产环境使用的版本的微服务。
微服务是一种用于构建应用的架构方案。微服务架构有别于更为传统的单体式方案,可将应用拆分成多个核心功能。每个功能都被称为一项服务,可以单独构建和部署,这意味着各项服务在工作(和出现故障)时不会相互影响。
可选的,当用户在客户端登录时,客户端根据用户标识发送业务请求。也就是说,业务请求携带有用户标识。
可选的,当用户在客户端登录时,客户端根据用户标识和客户端标识发送业务请求。也就是说,业务请求携带有用户标识和客户端标识。
用户标识可以是用户名称、用户ID等唯一标识一个用户的数据。
客户端标识可以是客户端名称、客户端ID等唯一标识一个客户端的数据。
客户端包括但不限于:移动电子设备的终端、移动电子设备的网页端、电脑的终端、电脑的网页端。
可选的,当用户在客户端没有登录时,客户端根据客户端标识发送业务请求。
对于S2,可以从业务流程库中获取与所述业务请求携带的请求类型对应的业务流程。
业务流程库包括:请求类型和业务流程,每个请求类型对应一个业务流程。
业务流程中包括一个或多个节点,各个节点按业务顺序进行连接,其中,节点也就是步骤。节点是最小的执行单元。节点的类型包括但不限于:入参校验、对象转换、方法调用、发送http(超文本传输协议)请求、发送RPC(远程过程调用)请求。
其中,当所述业务请求携带有灰度标识时,则在所述业务流程的请求线程的上下文中添加灰度标识,并确定添加结果为添加,否则,当所述业务请求未携带有灰度标识时,则在所述业务流程的请求线程的上下文中不添加灰度标识,并确定添加结果为不添加。
对于S3,当所述添加结果为添加时,将所述请求线程作为当前线程,执行所述当前线程启动所述业务流程,从而为通过执行业务流程响应业务请求提供了基础。
对于S4,采用遍历的方式,从所述业务流程的根节点开始获取一个节点对应的微服务标识,将获取的微服务标识作为所述目标微服务标识。
微服务标识可以是微服务名称、微服务ID等唯一标识一个微服务的数据。
对于S5,根据所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成微服务线程,以实现将所述当前线程的上下文中的灰度标识和所述目标微服务标识传递到微服务线程;将所述微服务线程作为当前线程,以实现执行所述微服务线程。
可选的,采用JDK类库的(new Thread()).start()方法,根据所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成微服务线程。可以理解的是,还可以采用其他方法创建微服务线程,在此不做限定。
对于S6,执行所述当前线程,根据所述业务请求调用所述目标微服务标识对应的灰度微服务,获取所述目标微服务标识对应的灰度微服务发送的微服务返回结果。
对于S7,根据各个所述微服务返回结果重复执行步骤S4至步骤S7,直至完成所述业务流程的遍历或获取到流程结束信号。其中,完成所述业务流程的遍历,也就是完成所述业务流程的所有节点的执行,此时意味着业务流程执行结束。
流程结束信号,也就是业务流程执行结束的信号。流程结束信号,是实现本申请的程序文件根据业务流程的执行状态主动发送的信号。
对于S8,获取所述业务流程对应的返回结果,将获取的返回结果作为所述业务请求对应的目标业务结果。
将目标业务结果发送给所述业务请求对应的目标应用。目标应用可以是客户端,也可以是第三方应用系统。
在一个实施例中,上述获取业务请求的步骤,包括:
获取服务网关发送的所述业务请求,其中,所述服务网关用于:
S11:获取目标应用发送的应用调用请求;
S12:判断所述应用调用请求是否携带有所述灰度标识;
S13:当所述应用调用请求携带有所述灰度标识时,根据所述应用调用请求携带的信息发送所述业务请求,其中,将所述灰度标识作为所述业务请求携带的参数;
S14:当所述应用调用请求未携带所述灰度标识时,判断所述应用调用请求是否携带有目标用户标识;
S15:当携带有所述目标用户标识时,根据所述目标用户标识获取用户信息,得到目标用户信息,根据所述目标用户信息判断所述目标用户标识对应的目标用户是否为灰度用户,当所述目标用户为所述灰度用户时,根据所述灰度标识和所述应用调用请求携带的信息发送所述业务请求;
S16:当未携带有所述目标用户标识时,根据所述应用调用请求携带的应用标识判断所述目标应用是否为灰度应用,当所述目标应用是所述灰度应用时,根据所述灰度标识和所述应用调用请求携带的信息发送所述业务请求,当所述目标应用不是所述灰度应用时,根据所述应用调用请求携带的信息发送所述业务请求。
本实施例通过服务网关在应用调用请求携带灰度标识时在业务请求中添加灰度标识,然后在应用调用请求不携带灰度标识时,根据应用调用请求携带的信息确定是否在业务请求中添加灰度标识,从而为后续将灰度标识在各个线程中传递,使灰度流量始终采用灰度微服务进行执行提供了基础。
对于S11,目标应用可以根据用户请求发送应用调用请求,也可以是根据预设条件发送应用调用请求。预设条件是目标应用在实现功能达到的触发调用请求的条件。
可选的,服务端向目标应用发送外部调用请求;当外部调用请求中携带有灰度标识时,则根据灰度标识和外部调用请求生成应用调用请求,此时的应用调用请求中携带有灰度标识;当外部调用请求中没有携带灰度标识时,则根据外部调用请求生成应用调用请求,此时的应用调用请求中没有携带灰度标识。
可以理解的是,当外部调用请求中携带有灰度标识时,也可以根据外部调用请求生成应用调用请求,此时的应用调用请求中没有携带灰度标识。
对于S13,当所述应用调用请求携带有所述灰度标识时,意味着所述应用调用请求的响应需要灰度微服务,因此根据所述应用调用请求携带的信息发送所述业务请求,其中,将所述灰度标识作为所述业务请求携带的参数,从而实现将灰度标识从应用调用请求传递到所述业务请求中。
对于S14,当所述应用调用请求未携带所述灰度标识时,意味着需要判断所述应用调用请求是否需要灰度微服务进行响应,因此先判断所述应用调用请求是否携带有目标用户标识。
目标用户标识,也就是所述应用调用请求对应的用户标识。
可选的,所述当所述应用调用请求未携带所述灰度标识时,判断所述应用调用请求是否携带有目标用户标识的步骤,包括:当所述应用调用请求未携带所述灰度标识时,获取请求号与灰度标识列表,将所述应用调用请求携带的与外部调用请求对应的请求号在灰度请求号列表中进行请求号查找;当请求号查找成功时,根据所述应用调用请求携带的信息发送所述业务请求,其中,将所述灰度标识作为所述业务请求携带的参数;当请求号查找失败时,判断所述应用调用请求是否携带有目标用户标识。
可以理解是,应用调用请求是回调请求时,应用调用请求一定携带有与外部调用请求对应的请求号。
对于S15,当携带有所述目标用户标识时,意味着已经明确了目标用户,为了提高用户体验,需要根据目标用户对应的用户信息确定是否采用灰度微服务提供服务,因此,获取所述目标用户标识对应的用户信息作为目标用户信息,采用预设灰度用户判断规则,根据所述目标用户信息判断所述目标用户标识对应的目标用户是否为灰度用户;当所述目标用户信息符合预设灰度用户判断规则的要求时,确定所述目标用户为所述灰度用户,否则,确定所述目标用户为非灰度用户;当所述目标用户为所述灰度用户时,意味着所述目标用户需要灰度微服务提供给服务,因此,根据所述灰度标识和所述应用调用请求携带的信息发送所述业务请求,以实现将所述灰度标识添加到所述业务请求中。
对于S16,当未携带有所述目标用户标识时,意味着没有明确目标用户,因此可以根据发送所述应用调用请求的应用标识确定是否采用灰度微服务提供服务;采用预设灰度应用判断规则,根据所述应用调用请求携带的应用标识判断所述目标应用是否为灰度应用,当所述应用调用请求携带的应用标识满足预设灰度应用判断规则的要求时,确定所述目标应用是所述灰度应用,否则,确定所述目标应用是非灰度应用;当所述目标应用是所述灰度应用时,根据所述灰度标识和所述应用调用请求携带的信息发送所述业务请求,以实现将所述灰度标识添加到所述业务请求中;当所述目标应用不是所述灰度应用时,根据所述应用调用请求携带的信息发送所述业务请求,以实现不在所述业务请求中添加灰度标识。
在一个实施例中,上述根据所述业务请求携带的信息确定是否在所述业务流程的请求线程的上下文中添加灰度标识,得到添加结果的步骤,包括:
S21:判断所述业务请求是否携带所述灰度标识;
S22:当所述业务请求携带有所述灰度标识时,则在所述业务流程的所述请求线程的上下文中添加所述灰度标识,确定所述添加结果为添加;
S23:当所述业务请求未携带所述灰度标识时,则确定所述添加结果为未添加。
本实施例实现根据所述业务请求是否携带所述灰度标识,确定是否在所述业务流程的请求线程的上下文中添加灰度标识,从而实现了将灰度标识从业务请求传递到请求线程,为后续将灰度标识在各个线程中传递,使灰度流量始终采用灰度微服务进行执行提供了基础。
对于S21,判断所述业务请求携带的参数中是否包括所述灰度标识,当包括所述灰度标识时确定所述业务请求携带有所述灰度标识,否则,确定所述业务请求没有携带所述灰度标识。
对于S22,当所述业务请求携带有所述灰度标识时,意味着所述业务请求需要灰度微服务提供服务,则在所述业务流程的所述请求线程的上下文中添加所述灰度标识,并且确定所述添加结果为添加。从而实现了将灰度标识从业务请求传递到请求线程。
对于S23,当所述业务请求未携带所述灰度标识时,意味着所述业务请求不需要灰度微服务提供服务,直接确定所述添加结果为未添加。
在一个实施例中,上述根据所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成微服务线程的步骤,包括:
S51:从所述业务流程中获取与所述目标微服务标识对应的线程创建类型;
S52:根据与所述目标微服务标识对应的所述线程创建类型、所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成所述微服务线程。
本实施例根据与所述目标微服务标识对应的所述线程创建类型、所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成所述微服务线程,实现了针对不同线程创建类型都可以将所述当前线程的上下文中的所述灰度标识传递到新生成的微服务线程中,从而将灰度标识在各个线程中传递,使灰度流量始终采用灰度微服务进行执行,避免灰度流量逃逸到非灰度环境。
对于S51,从所述目标微服务标识在所述业务流程中对应的节点中获取与所述目标微服务标识对应的线程创建类型。
线程创建类型包括:当前线程创建和线程池创建。
对于S52,采用与所述目标微服务标识对应的线程创建类型对应的线程创建方法,根据所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成所述微服务线程。
在一个实施例中,上述根据与所述目标微服务标识对应的所述线程创建类型、所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成所述微服务线程的步骤,包括:
S521:当所述线程创建类型为当前线程创建时,执行所述当前线程创建所述微服务线程,其中,在创建所述微服务线程时,将所述当前线程的上下文中的所述灰度标识和所述目标微服务标识作为所述微服务线程携带的参数;
S522:当所述线程创建类型为线程池创建时,执行所述当前线程,根据所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成线程创建任务;
S523:将所述线程创建任务发送给线程池;
S524:在所述线程池中,根据所述线程创建任务携带的所述灰度标识和所述目标微服务标识生成所述微服务线程。
本实施例在所述线程创建类型为当前线程创建时,直接将灰度标识传递给新生成的微服务线程,在线程创建类型为线程池创建时,先将灰度标识封装到线程创建任务中,从而将灰度标识传递到线程池,线程池将线程创建任务中的灰度标识传递到新生成的微服务线程,从而实现了将灰度标识在各个线程中传递,使灰度流量始终采用灰度微服务进行执行,避免灰度流量逃逸到非灰度环境。
对于S521,当所述线程创建类型为当前线程创建时,意味着所述目标微服务标识对应的微服务的线程是采用当前线程直接创建的,因此执行所述当前线程创建所述微服务线程,将所述当前线程的上下文中的所述灰度标识和所述目标微服务标识作为新创建的所述微服务线程携带的参数。
对于S522,当所述线程创建类型为当前线程创建时,意味着所述目标微服务标识对应的微服务的线程是采用线程池创建的,因此执行所述当前线程,根据所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成线程创建任务,从而将灰度标识和目标微服务标识封装到线程创建任务中。
对于S523,执行所述当前线程,将所述线程创建任务发送给线程池。
对于S524,在所述线程池中,对所述线程创建任务进行所述灰度标识和所述目标微服务标识的解析,根据解析得到的所述灰度标识和所述目标微服务标识生成所述微服务线程。
在一个实施例中,上述执行所述当前线程,根据所述业务请求调用所述目标微服务标识对应的灰度微服务,得到微服务返回结果的步骤,包括:
S611:执行所述当前线程,根据所述业务请求调用所述目标微服务标识对应的所述灰度微服务;
S612:获取所述目标微服务标识对应的所述灰度微服务发送的所述微服务返回结果,其中,所述目标微服务标识对应的所述灰度微服务用于:
S6121:根据微服务数据库和所述业务请求进行业务实现,得到业务实现数据;
S6122:将所述灰度标识和所述业务实现数据作为关联数据更新所述微服务数据库;
S6123:根据所述业务实现数据发送所述微服务返回结果。
本实施例调用所述目标微服务标识对应的灰度微服务提供给为服务,并且将所述灰度标识和所述业务实现数据作为关联数据更新所述微服务数据库中,从而实现了将所述当前线程中的灰度标识传递到所述微服务数据库中。
对于S611,执行所述当前线程,根据所述业务请求携带的参数调用所述目标微服务标识对应的所述灰度微服务。
对于S612,所述目标微服务标识对应的所述灰度微服务,根据所述业务请求携带的参数完成业务实现后,根据业务实现得到的结果发送所述微服务返回结果。
对于S6121,所述目标微服务标识对应的所述灰度微服务,根据微服务数据库和所述业务请求进行业务实现,将业务实现得到的数据作为业务实现数据。
对于S6122,所述目标微服务标识对应的所述灰度微服务,将所述灰度标识和所述业务实现数据作为关联数据更新所述微服务数据库,从而将微服务数据库中的数据采用灰度标识标识出灰度微服务产生的数据,实现了不需添加新的硬件,在非灰度环境的硬件上,采用逻辑分隔的形式创建灰度环境,降低了灰度发布的成本。
所述微服务数据库中存储的是微服务执行产生的数据。
可以理解的是,所述微服务数据库中的数据不带灰度标识时,意味着该数据不是灰度微服务产生的数据。
对于S6123,根据所述业务实现数据确定需要返回的数据,将确定的需要返回的数据作为所述微服务返回结果进行发送。
在一个实施例中,上述执行所述当前线程,根据所述业务请求调用所述目标微服务标识对应的灰度微服务,得到微服务返回结果的步骤,还包括:
S621:当所述目标微服务标识对应的所述灰度微服务是定时任务微服务时,所述目标微服务标识对应的所述灰度微服务用于根据所述灰度标识、微服务数据库和所述业务请求进行定时任务创建,得到目标定时任务;
S622:根据所述目标定时任务发送所述微服务返回结果。
本实施例将当前线程中的灰度标识传递到目标定时任务,使需要灰度微服务的目标定时任务可以在后续执行时调用带有灰度标识的数据和/或灰度微服务,从而实现了将当前线程的灰度标识传递到定时任务中,避免灰度流量逃逸到非灰度环境。
对于S621,当所述目标微服务标识对应的所述灰度微服务是定时任务微服务时,所述目标微服务标识对应的所述灰度微服务根据所述灰度标识、微服务数据库和所述业务请求进行定时任务创建,在创建定时任务时,将灰度标识作为定时任务的参数,并且将创建的定时任务作为目标定时任务。
对于S622,目标定时任务根据自己携带的灰度标识,从微服务数据库中获取带灰度标识的数据,然后根据所述业务请求的参数和获取的带灰度标识的数据进行任务执行,将执行完成得到的数据作为所述微服务返回结果。
参照图2,本申请还提出了一种适用于微服务的灰度调用装置,所述装置包括:
请求获取模块100,用于获取业务请求;
添加结果确定模块200,用于获取与所述业务请求对应的业务流程,根据所述业务请求携带的信息确定是否在所述业务流程的请求线程的上下文中添加灰度标识,得到添加结果;
业务流程启动模块300,用于当所述添加结果为添加时,将所述请求线程作为当前线程,执行所述当前线程启动所述业务流程;
目标微服务标识确定模块400,用于采用遍历的方式,从所述业务流程中获取一个节点对应的微服务标识作为目标微服务标识;
微服务线程确定模块500,用于根据所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成微服务线程,将所述微服务线程作为所述当前线程;
微服务返回结果确定模块600,用于执行所述当前线程,根据所述业务请求调用所述目标微服务标识对应的灰度微服务,得到微服务返回结果;
循环控制模块700,用于根据所述微服务返回结果重复执行所述采用遍历的方式,从所述业务流程中获取一个节点对应的微服务标识作为目标微服务标识的步骤,直至完成所述业务流程的遍历或获取到流程结束信号;
目标业务结果确定模块800,用于获取所述业务流程的执行结果作为所述业务请求对应的目标业务结果。
本实施例首先获取与所述业务请求对应的业务流程,根据所述业务请求携带的信息确定是否在所述业务流程的请求线程的上下文中添加灰度标识,得到添加结果,然后当所述添加结果为添加时,将所述请求线程作为当前线程,执行所述当前线程启动所述业务流程,采用遍历的方式,从所述业务流程中获取一个节点对应的微服务标识作为目标微服务标识,根据所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成微服务线程,将所述微服务线程作为所述当前线程,执行所述当前线程,根据所述业务请求调用所述目标微服务标识对应的灰度微服务,得到微服务返回结果,根据所述微服务返回结果重复执行所述采用遍历的方式,从所述业务流程中获取一个节点对应的微服务标识作为目标微服务标识的步骤,直至完成所述业务流程的遍历或获取到流程结束信号,最后获取所述业务流程的执行结果作为所述业务请求对应的目标业务结果,从而实现了将灰度标识在各个线程中传递,使灰度流量始终采用灰度微服务进行执行,避免灰度流量逃逸到非灰度环境;而且可以不需添加新的硬件,在非灰度环境的硬件上,采用逻辑分隔的形式创建灰度环境,降低了灰度发布的成本。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于储存适用于微服务的灰度调用方法等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种适用于微服务的灰度调用方法。所述适用于微服务的灰度调用方法,包括:获取业务请求;获取与所述业务请求对应的业务流程,根据所述业务请求携带的信息确定是否在所述业务流程的请求线程的上下文中添加灰度标识,得到添加结果;当所述添加结果为添加时,将所述请求线程作为当前线程,执行所述当前线程启动所述业务流程;采用遍历的方式,从所述业务流程中获取一个节点对应的微服务标识作为目标微服务标识;根据所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成微服务线程,将所述微服务线程作为所述当前线程;执行所述当前线程,根据所述业务请求调用所述目标微服务标识对应的灰度微服务,得到微服务返回结果;根据所述微服务返回结果重复执行所述采用遍历的方式,从所述业务流程中获取一个节点对应的微服务标识作为目标微服务标识的步骤,直至完成所述业务流程的遍历或获取到流程结束信号;获取所述业务流程的执行结果作为所述业务请求对应的目标业务结果。
本实施例首先获取与所述业务请求对应的业务流程,根据所述业务请求携带的信息确定是否在所述业务流程的请求线程的上下文中添加灰度标识,得到添加结果,然后当所述添加结果为添加时,将所述请求线程作为当前线程,执行所述当前线程启动所述业务流程,采用遍历的方式,从所述业务流程中获取一个节点对应的微服务标识作为目标微服务标识,根据所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成微服务线程,将所述微服务线程作为所述当前线程,执行所述当前线程,根据所述业务请求调用所述目标微服务标识对应的灰度微服务,得到微服务返回结果,根据所述微服务返回结果重复执行所述采用遍历的方式,从所述业务流程中获取一个节点对应的微服务标识作为目标微服务标识的步骤,直至完成所述业务流程的遍历或获取到流程结束信号,最后获取所述业务流程的执行结果作为所述业务请求对应的目标业务结果,从而实现了将灰度标识在各个线程中传递,使灰度流量始终采用灰度微服务进行执行,避免灰度流量逃逸到非灰度环境;而且可以不需添加新的硬件,在非灰度环境的硬件上,采用逻辑分隔的形式创建灰度环境,降低了灰度发布的成本。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种适用于微服务的灰度调用方法,包括步骤:获取业务请求;获取与所述业务请求对应的业务流程,根据所述业务请求携带的信息确定是否在所述业务流程的请求线程的上下文中添加灰度标识,得到添加结果;当所述添加结果为添加时,将所述请求线程作为当前线程,执行所述当前线程启动所述业务流程;采用遍历的方式,从所述业务流程中获取一个节点对应的微服务标识作为目标微服务标识;根据所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成微服务线程,将所述微服务线程作为所述当前线程;执行所述当前线程,根据所述业务请求调用所述目标微服务标识对应的灰度微服务,得到微服务返回结果;根据所述微服务返回结果重复执行所述采用遍历的方式,从所述业务流程中获取一个节点对应的微服务标识作为目标微服务标识的步骤,直至完成所述业务流程的遍历或获取到流程结束信号;获取所述业务流程的执行结果作为所述业务请求对应的目标业务结果。
上述执行的适用于微服务的灰度调用方法,首先获取与所述业务请求对应的业务流程,根据所述业务请求携带的信息确定是否在所述业务流程的请求线程的上下文中添加灰度标识,得到添加结果,然后当所述添加结果为添加时,将所述请求线程作为当前线程,执行所述当前线程启动所述业务流程,采用遍历的方式,从所述业务流程中获取一个节点对应的微服务标识作为目标微服务标识,根据所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成微服务线程,将所述微服务线程作为所述当前线程,执行所述当前线程,根据所述业务请求调用所述目标微服务标识对应的灰度微服务,得到微服务返回结果,根据所述微服务返回结果重复执行所述采用遍历的方式,从所述业务流程中获取一个节点对应的微服务标识作为目标微服务标识的步骤,直至完成所述业务流程的遍历或获取到流程结束信号,最后获取所述业务流程的执行结果作为所述业务请求对应的目标业务结果,从而实现了将灰度标识在各个线程中传递,使灰度流量始终采用灰度微服务进行执行,避免灰度流量逃逸到非灰度环境;而且可以不需添加新的硬件,在非灰度环境的硬件上,采用逻辑分隔的形式创建灰度环境,降低了灰度发布的成本。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种适用于微服务的灰度调用方法,其特征在于,所述方法包括:
获取业务请求;
获取与所述业务请求对应的业务流程,根据所述业务请求携带的信息确定是否在所述业务流程的请求线程的上下文中添加灰度标识,得到添加结果;
当所述添加结果为添加时,将所述请求线程作为当前线程,执行所述当前线程启动所述业务流程;
采用遍历的方式,从所述业务流程中获取一个节点对应的微服务标识作为目标微服务标识;
根据所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成微服务线程,将所述微服务线程作为所述当前线程;
执行所述当前线程,根据所述业务请求调用所述目标微服务标识对应的灰度微服务,得到微服务返回结果;
根据所述微服务返回结果重复执行所述采用遍历的方式,从所述业务流程中获取一个节点对应的微服务标识作为目标微服务标识的步骤,直至完成所述业务流程的遍历或获取到流程结束信号;
获取所述业务流程的执行结果作为所述业务请求对应的目标业务结果。
2.根据权利要求1所述的适用于微服务的灰度调用方法,其特征在于,所述获取业务请求的步骤,包括:
获取服务网关发送的所述业务请求,其中,所述服务网关用于:
获取目标应用发送的应用调用请求;
判断所述应用调用请求是否携带有所述灰度标识;
当所述应用调用请求携带有所述灰度标识时,根据所述应用调用请求携带的信息发送所述业务请求,其中,将所述灰度标识作为所述业务请求携带的参数;
当所述应用调用请求未携带所述灰度标识时,判断所述应用调用请求是否携带有目标用户标识;
当携带有所述目标用户标识时,根据所述目标用户标识获取用户信息,得到目标用户信息,根据所述目标用户信息判断所述目标用户标识对应的目标用户是否为灰度用户,当所述目标用户为所述灰度用户时,根据所述灰度标识和所述应用调用请求携带的信息发送所述业务请求;
当未携带有所述目标用户标识时,根据所述应用调用请求携带的应用标识判断所述目标应用是否为灰度应用,当所述目标应用是所述灰度应用时,根据所述灰度标识和所述应用调用请求携带的信息发送所述业务请求,当所述目标应用不是所述灰度应用时,根据所述应用调用请求携带的信息发送所述业务请求。
3.根据权利要求1所述的适用于微服务的灰度调用方法,其特征在于,所述根据所述业务请求携带的信息确定是否在所述业务流程的请求线程的上下文中添加灰度标识,得到添加结果的步骤,包括:
判断所述业务请求是否携带所述灰度标识;
当所述业务请求携带有所述灰度标识时,则在所述业务流程的所述请求线程的上下文中添加所述灰度标识,确定所述添加结果为添加;
当所述业务请求未携带所述灰度标识时,则确定所述添加结果为未添加。
4.根据权利要求1所述的适用于微服务的灰度调用方法,其特征在于,所述根据所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成微服务线程的步骤,包括:
从所述业务流程中获取与所述目标微服务标识对应的线程创建类型;
根据与所述目标微服务标识对应的所述线程创建类型、所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成所述微服务线程。
5.根据权利要求4所述的适用于微服务的灰度调用方法,其特征在于,所述根据与所述目标微服务标识对应的所述线程创建类型、所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成所述微服务线程的步骤,包括:
当所述线程创建类型为当前线程创建时,执行所述当前线程创建所述微服务线程,其中,在创建所述微服务线程时,将所述当前线程的上下文中的所述灰度标识和所述目标微服务标识作为所述微服务线程携带的参数;
当所述线程创建类型为线程池创建时,执行所述当前线程,根据所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成线程创建任务;
将所述线程创建任务发送给线程池;
在所述线程池中,根据所述线程创建任务携带的所述灰度标识和所述目标微服务标识生成所述微服务线程。
6.根据权利要求1所述的适用于微服务的灰度调用方法,其特征在于,所述执行所述当前线程,根据所述业务请求调用所述目标微服务标识对应的灰度微服务,得到微服务返回结果的步骤,包括:
执行所述当前线程,根据所述业务请求调用所述目标微服务标识对应的所述灰度微服务;
获取所述目标微服务标识对应的所述灰度微服务发送的所述微服务返回结果,其中,所述目标微服务标识对应的所述灰度微服务用于:
根据微服务数据库和所述业务请求进行业务实现,得到业务实现数据;
将所述灰度标识和所述业务实现数据作为关联数据更新所述微服务数据库;
根据所述业务实现数据发送所述微服务返回结果。
7.根据权利要求1所述的适用于微服务的灰度调用方法,其特征在于,所述执行所述当前线程,根据所述业务请求调用所述目标微服务标识对应的灰度微服务,得到微服务返回结果的步骤,还包括:
当所述目标微服务标识对应的所述灰度微服务是定时任务微服务时,所述目标微服务标识对应的所述灰度微服务用于根据所述灰度标识、微服务数据库和所述业务请求进行定时任务创建,得到目标定时任务;
根据所述目标定时任务发送所述微服务返回结果。
8.一种适用于微服务的灰度调用装置,其特征在于,所述装置包括:
请求获取模块,用于获取业务请求;
添加结果确定模块,用于获取与所述业务请求对应的业务流程,根据所述业务请求携带的信息确定是否在所述业务流程的请求线程的上下文中添加灰度标识,得到添加结果;
业务流程启动模块,用于当所述添加结果为添加时,将所述请求线程作为当前线程,执行所述当前线程启动所述业务流程;
目标微服务标识确定模块,用于采用遍历的方式,从所述业务流程中获取一个节点对应的微服务标识作为目标微服务标识;
微服务线程确定模块,用于根据所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成微服务线程,将所述微服务线程作为所述当前线程;
微服务返回结果确定模块,用于执行所述当前线程,根据所述业务请求调用所述目标微服务标识对应的灰度微服务,得到微服务返回结果;
循环控制模块,用于根据所述微服务返回结果重复执行所述采用遍历的方式,从所述业务流程中获取一个节点对应的微服务标识作为目标微服务标识的步骤,直至完成所述业务流程的遍历或获取到流程结束信号;
目标业务结果确定模块,用于获取所述业务流程的执行结果作为所述业务请求对应的目标业务结果。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111267973.8A CN113918193A (zh) | 2021-10-29 | 2021-10-29 | 适用于微服务的灰度调用方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111267973.8A CN113918193A (zh) | 2021-10-29 | 2021-10-29 | 适用于微服务的灰度调用方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113918193A true CN113918193A (zh) | 2022-01-11 |
Family
ID=79243281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111267973.8A Pending CN113918193A (zh) | 2021-10-29 | 2021-10-29 | 适用于微服务的灰度调用方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113918193A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024078025A1 (zh) * | 2022-10-10 | 2024-04-18 | 华为技术有限公司 | 流量隔离方法、装置、系统及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109739552A (zh) * | 2019-01-04 | 2019-05-10 | 深圳壹账通智能科技有限公司 | 微服务灰度发布方法、装置、计算机设备和存储介质 |
CN109788029A (zh) * | 2018-12-14 | 2019-05-21 | 平安信托有限责任公司 | 微服务的灰度调用方法、装置、终端及可读存储介质 |
CN109995713A (zh) * | 2017-12-30 | 2019-07-09 | 华为技术有限公司 | 一种微服务框架中的服务处理方法及相关设备 |
CN112860437A (zh) * | 2021-02-22 | 2021-05-28 | 北京罗克维尔斯科技有限公司 | 微服务处理方法和装置 |
-
2021
- 2021-10-29 CN CN202111267973.8A patent/CN113918193A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109995713A (zh) * | 2017-12-30 | 2019-07-09 | 华为技术有限公司 | 一种微服务框架中的服务处理方法及相关设备 |
CN109788029A (zh) * | 2018-12-14 | 2019-05-21 | 平安信托有限责任公司 | 微服务的灰度调用方法、装置、终端及可读存储介质 |
CN109739552A (zh) * | 2019-01-04 | 2019-05-10 | 深圳壹账通智能科技有限公司 | 微服务灰度发布方法、装置、计算机设备和存储介质 |
CN112860437A (zh) * | 2021-02-22 | 2021-05-28 | 北京罗克维尔斯科技有限公司 | 微服务处理方法和装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024078025A1 (zh) * | 2022-10-10 | 2024-04-18 | 华为技术有限公司 | 流量隔离方法、装置、系统及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8656417B2 (en) | Interface for telecommunication services using uniform resource identifiers | |
EP2914022B1 (en) | Device management method, middleware, and machine-to-machine communications platform, device, and system | |
CN102393857B (zh) | 一种用网页进行本地调用的方法和系统 | |
CN107729014B (zh) | 一种基于Android的页面跳转方法及结构 | |
CN107450899B (zh) | 终端控制脚本的生成方法和装置 | |
CN113064584B (zh) | 幂等的实现方法、装置、设备及介质 | |
CN112015495B (zh) | Native和H5之间互相调用的方法、装置、设备及介质 | |
CN113360180A (zh) | 系统的组件配置方法、装置、计算机设备及存储介质 | |
CN112631701A (zh) | 页面请求方法、装置、计算机设备和存储介质 | |
CN113918193A (zh) | 适用于微服务的灰度调用方法、装置、设备及存储介质 | |
CN112860308A (zh) | 接口定义的配置方法、业务处理方法、服务器及存储介质 | |
KR101478903B1 (ko) | 인스턴스 호스팅 환경에서 노드의 프로파일에 기반하여 노드의 정보를 처리하기 위한 방법 및 시스템 | |
CN113806104A (zh) | 接口访问请求处理方法、api网关、服务器及系统 | |
CN114238811A (zh) | 页面加载方法、页面请求响应方法、装置、设备及介质 | |
CN114064733A (zh) | 适用于本地客户端的数据库查询方法、装置、设备及介质 | |
CN113282400B (zh) | 基于接口路由的应用发布方法、装置、设备及存储介质 | |
CN113301161B (zh) | 应用服务的无缝升级方法、装置、设备及存储介质 | |
CN110874278A (zh) | 外部系统的嵌入方法、工作流系统、设备及存储介质 | |
CN112579459A (zh) | 测试应用程序的方法、装置和计算机设备 | |
CN113472915B (zh) | 域名解析方法、装置、设备及存储介质 | |
CN108595274B (zh) | 程序同步控制方法、装置、系统、计算机设备和存储介质 | |
CN115454878A (zh) | 一种应用于微服务的接口调用测试方法及相关装置 | |
CN113486267A (zh) | 应用入口页面的解析方法、装置、设备及存储介质 | |
CN113065079B (zh) | 基于地址协议实现调用原生页面的方法、设备及存储介质 | |
CN108052380B (zh) | 业务功能对接方法、装置、计算机设备及存储介质 |
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 |