微服务的灰度调用方法、装置、终端及可读存储介质制造方法及图纸

技术编号:21167187 阅读:28 留言:0更新日期:2019-05-22 09:41
本发明专利技术提供一种微服务的灰度调用方法,包括:获取客户端发送的业务请求;根据所述业务请求中的用户标识确定是否在所述业务请求的请求线程的上下文中添加灰度标示,并生成添加结果;若所述添加结果表示所述业务请求的请求线程的上下文中添加了灰度标示,则根据所述业务请求调用灰度微服务;若所述添加结果表示所述业务请求的请求线程的上下文中未添加灰度标示,则根据所述业务请求调用正式微服务。本发明专利技术还提供一种微服务的灰度调用装置、终端及可读存储介质,本发明专利技术的方案基于微服务架构来实现微服务的灰度调用,能够减少业务处理的复杂度,也无需侵入业务代码来强制修改业务请求,能够减少代码维护成本。

Gray Level Call Method, Device, Terminal and Readable Storage Medium for Micro Services

The invention provides a gray-scale invocation method for micro-service, which includes: acquiring the service request sent by the client; determining whether to add gray-scale label in the context of the request thread of the service request according to the user identification in the service request, and generating the added result; and adding gray-scale label in the context of the request thread of the service request if the added result indicates that the gray-scale label is added in the context of the request thread of the service request. The gray level micro service is invoked according to the service request; if the added result indicates that the gray level label is not added in the context of the request thread of the service request, the formal micro service is invoked according to the service request. The invention also provides a gray scale calling device, a terminal and a readable storage medium for a micro service. The scheme of the invention realizes the gray scale calling of a micro service based on a micro service architecture, which can reduce the complexity of business processing and the compulsory modification of business requests without intruding business codes, and can reduce the cost of code maintenance.

【技术实现步骤摘要】
微服务的灰度调用方法、装置、终端及可读存储介质
本专利技术涉及业务数据处理
,尤其涉及一种微服务的灰度调用方法、装置、终端及可读存储介质。
技术介绍
在一些互联网的软件应用进行升级时,灰度发布是一种比较常见的方式,灰度发布是指:让一部分用户继续使用旧软件版本,另一部分用户开始使用新版本软件,如果用户对新版本软件没有什么改进意见,那么逐渐扩大范围,将所有用户都迁移到使用新版本软件。目前,现有的灰度发布方案有两种,一种方案是按一个独立的环境部署独立版本,此种方式的灰度发布要求必须全量进行搭建部署,升级必须按照整个应用进行升级,灰度服务和非灰度服务是完全隔离的,对于灰度发布的业务处理比较复杂。另一种方案是侵入业务代码来修改服务请求逻辑以达到目的,其对业务开发代码干扰性强,后续维护成本高。
技术实现思路
本专利技术的主要目的在于提供一种服微服务的灰度调用方法、装置、终端及可读存储介质,旨在解决现有灰度发布方法复杂且发布成本高的技术问题。为实现上述目的,本专利技术提供一种微服务的灰度调用方法,所述微服务的灰度分布方法包括:获取客户端发送的业务请求;根据所述业务请求中的用户标识确定是否在所述业务请求的请求线程的上下文中添加灰度标示,并生成添加结果;若所述添加结果表示所述业务请求的请求线程的上下文中添加了灰度标示,则根据所述业务请求调用灰度微服务;若所述添加结果表示所述业务请求的请求线程的上下文中未添加灰度标示,则根据所述业务请求调用正式微服务。优选地,所述根据所述业务请求中的用户标识确定是否在所述业务请求的请求线程的上下文中添加灰度标示,并生成添加结果的步骤包括:根据所述业务请求中的用户标识获取对应的用户信息;根据所述用户信息判断所述用户是否为灰度用户;若所述用户是灰度用户,则在所述业务请求的请求线程的上下文中添加灰度标示,并生成添加了灰度标示的添加结果;若所述用户不是灰度用户,则生成未添加灰度标示的添加结果。优选地,所述根据所述业务请求中的用户标识确定是否在所述业务请求的请求线程的上下文中添加灰度标示,并生成添加结果的步骤之前,包括:解析所述业务请求获得解析结果;根据所述解析结果判断所述业务请求中是否包含用户标识;若所述业务请求中包含用户标识,则进入步骤:根据所述业务请求中的用户标识确定是否在所述业务请求的请求线程的上下文中添加灰度标示,并生成添加结果;若所述业务请求中不包含用户标识,则所述根据所述业务请求中的用户标识确定是否在所述业务请求的请求线程的上下文中添加灰度标示的步骤替换为:根据所述业务请求中的客户端标识确定是否在所述业务请求的当前请求线程的上下文中添加灰度标示,并生成添加结果。优选地,所述根据所述业务请求中的客户端标识确定是否在所述业务请求的当前请求线程的上下文中添加灰度标示,并生成添加结果的步骤包括:根据所述业务请求的客户端标识获取客户端信息;根据所述客户端信息判断所述客户端是否为灰度客户端;若所述客户端是灰度客户端,则在所述业务请求的请求线程的上下文中添加灰度标示,并生成添加了灰度标示的添加结果;若所述客户端不是灰度客户端,则生成未添加灰度标示的添加结果。优选地,所述若所述添加结果表示所述业务请求的请求线程的上下文中添加了灰度标示,则根据所述业务请求调用灰度微服务的步骤包括:若所述添加结果表示所述业务请求的请求线程的上下文中添加了灰度标示,则根据所述业务请求获取能提供灰度微服务的服务提供者;根据负载均衡算法从能提供灰度微服务的服务提供者中选取被调用的服务提供者;将所述业务请求转发给所述被调用的服务提供者以调用对应的灰度微服务。优选地,所述将所述业务请求转发给所述被调用的服务提供者以调用对应的灰度微服务的步骤之后,包括:将所述灰度标示以带外数据的方式传输给所述被调用的服务提供者,以使所述被调用的服务提供者将灰度标示添加至处理线程的上下文中。优选地,所述获取客户端发送的业务请求的步骤之前包括:获取服务提供者的注册信息;根据所述注册信息获取服务提供者的版本号;判断所述版本号是否为灰度版本号;若所述版本号是灰度版本号,则将对应的服务提供者提供的微服务标示为灰度微服务;若所述版本号不是灰度版本号,则进入步骤:获取客户端发送的业务请求。另外,本专利技术还提供一种所述微服务的灰度调用装置,包括:第一获取模块,所述第一获取模块用于获取客户端发送的业务请求;生成模块,所述生成模块用于根据所述业务请求中的用户标识确定是否在所述业务请求的请求线程的上下文中添加灰度标示,并生成添加结果;第一调用模块,所述第一调用模块用于若所述添加结果表示所述业务请求的请求线程的上下文中添加了灰度标示,则根据所述业务请求调用灰度微服务;第二调用模块,所述第二调用模块用于若所述添加结果表示所述业务请求的请求线程的上下文中未添加灰度标示,则根据所述业务请求调用正式微服务。本专利技术还提供一种终端,所述终端包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的微服务的灰度调用程序,其中,所述微服务的灰度调用程序被所述处理器执行时,实现如上所述的微服务的灰度调用方法的步骤。本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有微服务的灰度调用程序,其中,所述微服务的灰度调用程序被处理器执行时,实现如上所述的微服务的灰度调用方法的步骤。本专利技术技术方案中,获取客户端发送的业务请求;根据所述业务请求中的用户标识确定是否在所述业务请求的请求线程的上下文中添加灰度标示,并生成添加结果;若所述添加结果表示所述业务请求的请求线程的上下文中添加了灰度标示,则根据所述业务请求调用灰度微服务;若所述添加结果表示所述业务请求的请求线程的上下文中未添加灰度标示,则根据所述业务请求调用正式微服务。本专利技术提出的方案基于微服务架构对微服务进行灰度发布,根据客户端提出的业务请求中的用户信息确定是否在业务请求的请求线程的上下文中添加灰度标示,获得添加结果,再根据添加结果来调用灰度微服务或正式微服务,因此,本专利技术能够通过在业务请求的请求线程的上下文中添加灰度标示来实现微服务的灰度调用,无需全部部署灰度微服务,能够减少业务处理的复杂度;也无需侵入业务代码来强制修改业务请求,能够减少代码维护成本。附图说明图1为本专利技术实施例方案中涉及的终端的硬件结构示意图;图2为本专利技术微服务的灰度调用方法第一实施例的路程示意图;。图3为本专利技术实施例中根据所述业务请求中的用户标识确定是否在所述业务请求的请求线程的上下文中添加灰度标示,并生成添加结果的步骤的流程细化示意图;图4为本专利技术微服务的灰度调用方法第二实施例的流程示意图;图5为本专利技术实施例中根据所述业务请求中的客户端标识确定是否在所述业务请求的当前请求线程的上下文中添加灰度标示,并生成添加结果的步骤的流程细化示意图;图6为本专利技术实施例中若所述添加结果表示所述业务请求的请求线程的上下文中添加了灰度标示,则根据所述业务请求调用灰度微服务的步骤的流程细化示意图;图7为本专利技术微服务的灰度调用方法第三实施例的流程示意图;图8为本专利技术微服务的灰度调用方法第四实施例的流程示意图;图9为本专利技术微服务的灰度调用装置的模块示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解本文档来自技高网...

【技术保护点】
1.一种微服务的灰度调用方法,其特征在于,所述微服务的灰度调用方法包括:获取客户端发送的业务请求;根据所述业务请求中的用户标识确定是否在所述业务请求的请求线程的上下文中添加灰度标示,并生成添加结果;若所述添加结果表示所述业务请求的请求线程的上下文中添加了灰度标示,则根据所述业务请求调用灰度微服务;若所述添加结果表示所述业务请求的请求线程的上下文中未添加灰度标示,则根据所述业务请求调用正式微服务。

【技术特征摘要】
1.一种微服务的灰度调用方法,其特征在于,所述微服务的灰度调用方法包括:获取客户端发送的业务请求;根据所述业务请求中的用户标识确定是否在所述业务请求的请求线程的上下文中添加灰度标示,并生成添加结果;若所述添加结果表示所述业务请求的请求线程的上下文中添加了灰度标示,则根据所述业务请求调用灰度微服务;若所述添加结果表示所述业务请求的请求线程的上下文中未添加灰度标示,则根据所述业务请求调用正式微服务。2.如权利要求1所述的微服务的灰度调用方法,其特征在于,所述根据所述业务请求中的用户标识确定是否在所述业务请求的请求线程的上下文中添加灰度标示,并生成添加结果的步骤包括:根据所述业务请求中的用户标识获取对应的用户信息;根据所述用户信息判断所述用户是否为灰度用户;若所述用户是灰度用户,则在所述业务请求的请求线程的上下文中添加灰度标示,并生成添加了灰度标示的添加结果;若所述用户不是灰度用户,则生成未添加灰度标示的添加结果。3.如权利要求1所述的微服务的灰度调用方法,其特征在于,所述根据所述业务请求中的用户标识确定是否在所述业务请求的请求线程的上下文中添加灰度标示,并生成添加结果的步骤之前,包括:解析所述业务请求获得解析结果;根据所述解析结果判断所述业务请求中是否包含用户标识;若所述业务请求中包含用户标识,则进入步骤:根据所述业务请求中的用户标识确定是否在所述业务请求的请求线程的上下文中添加灰度标示,并生成添加结果;若所述业务请求中不包含用户标识,则所述根据所述业务请求中的用户标识确定是否在所述业务请求的请求线程的上下文中添加灰度标示的步骤替换为:根据所述业务请求中的客户端标识确定是否在所述业务请求的当前请求线程的上下文中添加灰度标示,并生成添加结果。4.根据权利要求3所述的微服务的灰度调用方法,其特征在于,所述根据所述业务请求中的客户端标识确定是否在所述业务请求的当前请求线程的上下文中添加灰度标示,并生成添加结果的步骤包括:根据所述业务请求的客户端标识获取客户端信息;根据所述客户端信息判断所述客户端是否为灰度客户端;若所述客户端是灰度客户端,则在所述业务请求的请求线程的上下文中添加灰度标示,并生成添加了灰度标示的添加结果;若所述客户端不是灰度客户端,则生成未添加灰度标示的添加结果。5.如权利要求1-4中任一项所述的微服务的灰度调用方法,...

【专利技术属性】
技术研发人员:梁征梁亚保
申请(专利权)人:平安信托有限责任公司
类型:发明
国别省市:广东,44

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

1