适用于微服务的灰度调用方法、装置、设备及存储介质与流程

文档序号:28445629发布日期:2022-01-12 03:15阅读:来源:国知局

技术特征:
1.一种适用于微服务的灰度调用方法,其特征在于,所述方法包括:获取业务请求;获取与所述业务请求对应的业务流程,根据所述业务请求携带的信息确定是否在所述业务流程的请求线程的上下文中添加灰度标识,得到添加结果;当所述添加结果为添加时,将所述请求线程作为当前线程,执行所述当前线程启动所述业务流程;采用遍历的方式,从所述业务流程中获取一个节点对应的微服务标识作为目标微服务标识;根据所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成微服务线程,将所述微服务线程作为所述当前线程;执行所述当前线程,根据所述业务请求调用所述目标微服务标识对应的灰度微服务,得到微服务返回结果;根据所述微服务返回结果重复执行所述采用遍历的方式,从所述业务流程中获取一个节点对应的微服务标识作为目标微服务标识的步骤,直至完成所述业务流程的遍历或获取到流程结束信号;获取所述业务流程的执行结果作为所述业务请求对应的目标业务结果。2.根据权利要求1所述的适用于微服务的灰度调用方法,其特征在于,所述获取业务请求的步骤,包括:获取服务网关发送的所述业务请求,其中,所述服务网关用于:获取目标应用发送的应用调用请求;判断所述应用调用请求是否携带有所述灰度标识;当所述应用调用请求携带有所述灰度标识时,根据所述应用调用请求携带的信息发送所述业务请求,其中,将所述灰度标识作为所述业务请求携带的参数;当所述应用调用请求未携带所述灰度标识时,判断所述应用调用请求是否携带有目标用户标识;当携带有所述目标用户标识时,根据所述目标用户标识获取用户信息,得到目标用户信息,根据所述目标用户信息判断所述目标用户标识对应的目标用户是否为灰度用户,当所述目标用户为所述灰度用户时,根据所述灰度标识和所述应用调用请求携带的信息发送所述业务请求;当未携带有所述目标用户标识时,根据所述应用调用请求携带的应用标识判断所述目标应用是否为灰度应用,当所述目标应用是所述灰度应用时,根据所述灰度标识和所述应用调用请求携带的信息发送所述业务请求,当所述目标应用不是所述灰度应用时,根据所述应用调用请求携带的信息发送所述业务请求。3.根据权利要求1所述的适用于微服务的灰度调用方法,其特征在于,所述根据所述业务请求携带的信息确定是否在所述业务流程的请求线程的上下文中添加灰度标识,得到添加结果的步骤,包括:判断所述业务请求是否携带所述灰度标识;当所述业务请求携带有所述灰度标识时,则在所述业务流程的所述请求线程的上下文中添加所述灰度标识,确定所述添加结果为添加;
当所述业务请求未携带所述灰度标识时,则确定所述添加结果为未添加。4.根据权利要求1所述的适用于微服务的灰度调用方法,其特征在于,所述根据所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成微服务线程的步骤,包括:从所述业务流程中获取与所述目标微服务标识对应的线程创建类型;根据与所述目标微服务标识对应的所述线程创建类型、所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成所述微服务线程。5.根据权利要求4所述的适用于微服务的灰度调用方法,其特征在于,所述根据与所述目标微服务标识对应的所述线程创建类型、所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成所述微服务线程的步骤,包括:当所述线程创建类型为当前线程创建时,执行所述当前线程创建所述微服务线程,其中,在创建所述微服务线程时,将所述当前线程的上下文中的所述灰度标识和所述目标微服务标识作为所述微服务线程携带的参数;当所述线程创建类型为线程池创建时,执行所述当前线程,根据所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成线程创建任务;将所述线程创建任务发送给线程池;在所述线程池中,根据所述线程创建任务携带的所述灰度标识和所述目标微服务标识生成所述微服务线程。6.根据权利要求1所述的适用于微服务的灰度调用方法,其特征在于,所述执行所述当前线程,根据所述业务请求调用所述目标微服务标识对应的灰度微服务,得到微服务返回结果的步骤,包括:执行所述当前线程,根据所述业务请求调用所述目标微服务标识对应的所述灰度微服务;获取所述目标微服务标识对应的所述灰度微服务发送的所述微服务返回结果,其中,所述目标微服务标识对应的所述灰度微服务用于:根据微服务数据库和所述业务请求进行业务实现,得到业务实现数据;将所述灰度标识和所述业务实现数据作为关联数据更新所述微服务数据库;根据所述业务实现数据发送所述微服务返回结果。7.根据权利要求1所述的适用于微服务的灰度调用方法,其特征在于,所述执行所述当前线程,根据所述业务请求调用所述目标微服务标识对应的灰度微服务,得到微服务返回结果的步骤,还包括:当所述目标微服务标识对应的所述灰度微服务是定时任务微服务时,所述目标微服务标识对应的所述灰度微服务用于根据所述灰度标识、微服务数据库和所述业务请求进行定时任务创建,得到目标定时任务;根据所述目标定时任务发送所述微服务返回结果。8.一种适用于微服务的灰度调用装置,其特征在于,所述装置包括:请求获取模块,用于获取业务请求;添加结果确定模块,用于获取与所述业务请求对应的业务流程,根据所述业务请求携带的信息确定是否在所述业务流程的请求线程的上下文中添加灰度标识,得到添加结果;业务流程启动模块,用于当所述添加结果为添加时,将所述请求线程作为当前线程,执
行所述当前线程启动所述业务流程;目标微服务标识确定模块,用于采用遍历的方式,从所述业务流程中获取一个节点对应的微服务标识作为目标微服务标识;微服务线程确定模块,用于根据所述当前线程的上下文中的所述灰度标识和所述目标微服务标识生成微服务线程,将所述微服务线程作为所述当前线程;微服务返回结果确定模块,用于执行所述当前线程,根据所述业务请求调用所述目标微服务标识对应的灰度微服务,得到微服务返回结果;循环控制模块,用于根据所述微服务返回结果重复执行所述采用遍历的方式,从所述业务流程中获取一个节点对应的微服务标识作为目标微服务标识的步骤,直至完成所述业务流程的遍历或获取到流程结束信号;目标业务结果确定模块,用于获取所述业务流程的执行结果作为所述业务请求对应的目标业务结果。9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。

技术总结
本申请涉及微服务技术领域,揭示了一种适用于微服务的灰度调用方法、装置、设备及存储介质,其中方法包括:根据业务请求携带的信息确定是否在与业务请求对应的业务流程的请求线程的上下文中添加灰度标识;当添加了灰度标识时将请求线程作为当前线程,执行当前线程启动业务流程;从业务流程中获取目标微服务标识;根据灰度标识和目标微服务标识生成微服务线程,将微服务线程作为当前线程;执行当前线程根据业务请求调用目标微服务标识对应的灰度微服务得到微服务返回结果;根据微服务返回结果重复遍历业务流程的步骤;将业务流程的执行结果作为目标业务结果。实现了将灰度标识在各个线程中传递,使灰度流量始终采用灰度微服务进行执行。务进行执行。务进行执行。


技术研发人员:梁明
受保护的技术使用者:平安普惠企业管理有限公司
技术研发日:2021.10.29
技术公布日:2022/1/11
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1