微服务信息处理方法及装置制造方法及图纸

技术编号:37326883 阅读:12 留言:0更新日期:2023-04-21 23:05
本发明专利技术公开了一种微服务信息处理方法及装置,涉及分布式技术领域,其中该方法包括:根据预先配置的服务配置信息,拦截第一原始启动指令、第二原始启动指令;其中,服务配置信息中包含待拦截指令的指令标识,第一原始启动指令用于启动服务注册客户端,第二原始启动指令用于启动服务预热执行器;根据服务配置信息,在Spring Cloud微服务组件订阅到服务预热完成通知时,向服务注册客户端发送第一启动指令,以供服务注册客户端根据第一启动指令启动后,向服务注册中心发送注册请求,完成服务上线;其中,服务预热完成通知为Spring容器对服务预热完成后发布。本发明专利技术可以避免服务上线造成的集群链路波动。集群链路波动。集群链路波动。

【技术实现步骤摘要】
微服务信息处理方法及装置


[0001]本专利技术涉及分布式
,尤其涉及微服务信息处理方法及装置。

技术介绍

[0002]本部分旨在为权利要求书中陈述的本专利技术实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
[0003]在微服务架构体系中,单个服务启动后需立刻向注册中心发起注册连接,并通过定期心跳机制将业务API(Application Programming Interface,应用程序接口)对外暴露,其他服务通过注册中心获取到业务对应的API地址,通过这种API寻址方式实现服务之间互相协调、互相配合,为用户提供最终价值。
[0004]目前分布式架构的服务上线过程中,可能在服务还未完成预热工作前就将服务过早暴露至注册中心,导致发往该服务的请求执行异常,造成集群链路波动。现有的服务上线方案只能缩短集群链路波动的持续时间,而无法彻底杜绝服务上线造成集群链路波动。

技术实现思路

[0005]本专利技术实施例提供一种微服务信息处理方法,用以杜绝服务上线造成集群链路波动,该方法包括:
[0006]根据预先配置的服务配置信息,拦截第一原始启动指令、第二原始启动指令;其中,服务配置信息中包含待拦截指令的指令标识,第一原始启动指令用于启动服务注册客户端,第二原始启动指令用于启动服务预热执行器;
[0007]根据服务配置信息,在Spring Cloud微服务组件订阅到服务预热完成通知时,向服务注册客户端发送第一启动指令,以供服务注册客户端根据第一启动指令启动后,向服务注册中心发送注册请求,完成服务上线;其中,服务预热完成通知为Spring容器对服务预热完成后发布。
[0008]本专利技术实施例还提供一种微服务信息处理装置,用以杜绝服务上线造成集群链路波动,该装置包括:
[0009]第一处理模块,用于根据预先配置的服务配置信息,拦截第一原始启动指令、第二原始启动指令;其中,服务配置信息中包含待拦截指令的指令标识,第一原始启动指令用于启动服务注册客户端,第二原始启动指令用于启动服务预热执行器;
[0010]第二处理模块,用于根据服务配置信息,在Spring Cloud微服务组件订阅到服务预热完成通知时,向服务注册客户端发送第一启动指令,以供服务注册客户端根据第一启动指令启动后,向服务注册中心发送注册请求,完成服务上线;其中,服务预热完成通知为Spring容器对服务预热完成后发布。
[0011]本专利技术实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述微服务信息处理方法。
[0012]本专利技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述微服务信息处理方法。
[0013]本专利技术实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述微服务信息处理方法。
[0014]本专利技术实施例中,根据预先配置的服务配置信息,拦截第一原始启动指令、第二原始启动指令;其中,服务配置信息中包含待拦截指令的指令标识,第一原始启动指令用于启动服务注册客户端,第二原始启动指令用于启动服务预热执行器;根据服务配置信息,在Spring Cloud微服务组件订阅到服务预热完成通知时,向服务注册客户端发送第一启动指令,以供服务注册客户端根据第一启动指令启动后,向服务注册中心发送注册请求,完成服务上线;其中,服务预热完成通知为Spring容器对服务预热完成后发布。这样,在Spring容器对服务预热完成后,才会将服务暴露给服务注册中心,避免服务上线造成的集群链路波动。
附图说明
[0015]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
[0016]图1为本专利技术实施例中提供的一种现有的服务上线流程图;
[0017]图2为本专利技术实施例中提供一种微服务信息处理方法的流程图;
[0018]图3为本专利技术实施例中提供的一种现有服务上线过程与本申请服务上线过程的对比图;
[0019]图4为本专利技术实施例中提供的一种现有的服务下线流程图;
[0020]图5为本专利技术实施例中提供的一种现有的服务下线过程和本专利技术服务下线过程的对比图;
[0021]图6为本专利技术实施例中提供的一种微服务信息处理装置的示意图。
具体实施方式
[0022]为使本专利技术实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本专利技术实施例做进一步详细说明。在此,本专利技术的示意性实施例及其说明用于解释本专利技术,但并不作为对本专利技术的限定。
[0023]本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
[0024]本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
[0025]在本说明书的描述中,所使用的“包含”、“包括”、“具有”、“含有”等,均为开放性的用语,即意指包含但不限于。参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、

例如”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本申请的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
[0026]如图1所示,为本专利技术实施例提供的一种现有的服务上线流程图,根据图1可知,服务在Spring启动完成后,需要对业务进行预热,预热完成后才能对外提供业务功能,但是服务在Spring启动完成后就会向服务注册中心发送服务注册请求,这可能导致在全部预热工作完成前,过早的将服务暴露至注册中心,使得发往该服务的请求执行异常,造成集群链路波动。经研究发现,现有的服务上线方案只能缩短集群链路波动的持续时间,而无法彻底杜绝服务上线造成集群链路波动。
[0027]针对上述研究,本专利技术实施例提供一种微服务信息处理方法,如图2所示,包括:
[0028]S201:根据预先配置的服务配置信息,拦截第一原始启动指令、第二原始启动指令;其中,服务配置信息中包含待拦截指令的指令标识,第一原始启动指令用于启动服务注册客户端,第二原始启动指令用于启本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种微服务信息处理方法,其特征在于,包括:根据预先配置的服务配置信息,拦截第一原始启动指令、第二原始启动指令;其中,服务配置信息中包含待拦截指令的指令标识,第一原始启动指令用于启动服务注册客户端,第二原始启动指令用于启动服务预热执行器;根据服务配置信息,在Spring Cloud微服务组件订阅到服务预热完成通知时,向服务注册客户端发送第一启动指令,以供服务注册客户端根据第一启动指令启动后,向服务注册中心发送注册请求,完成服务上线;其中,服务预热完成通知为Spring容器对服务预热完成后发布。2.如权利要求1所述的微服务信息处理方法,其特征在于,根据预先配置的服务配置信息,拦截第一原始启动指令、第二原始启动指令之前,还包括:接收配置人员根据java agent字节码增强技术配置的服务配置信息。3.如权利要求2所述的微服务信息处理方法,其特征在于,服务配置信息中包含要在原始服务上线方法前添加的第一前置代码、以及在服务预热方法后添加的第一后置代码,第一前置代码中包含待拦截指令的指令标识;根据预先配置的服务配置信息,拦截第一原始启动指令、第二原始启动指令,包括:接收到服务注册上线指令时,执行服务配置信息中的第一前置代码,根据执行服务配置信息中的第一前置代码来拦截第一原始启动指令、第二原始启动指令;根据服务配置信息,在Spring Cloud微服务组件订阅到服务预热完成通知时,向服务注册客户端发送第一启动指令,包括:根据执行服务配置信息中的第一后置代码,在Spring Cloud微服务组件订阅到服务预热完成通知时,向服务注册客户端发送第一启动指令。4.如权利要求1所述的微服务信息处理方法,其特征在于,向服务注册中心发送注册请求,完成服务上线之后,还包括:运行心跳连接任务线程将服务健康状态上报给服务注册中心。5.如权利要求2所述的微服务信息处理方法,其特征在于,还包括:根据预先配置的服务配置信息,拦截spring容器执行原组件实例销毁方法,将服务下线请求发往服务注册中心;根据预先配置的服务配置信息,在服务注册中心对服务下线请求执行完毕后,阻塞等待各服务调用方本地缓存的服务数据过期;根据预先配置的服务配置信息,在各服务调用方本地缓存的服务数据过期后,控制spring容器执行原组件实例销毁方法,完成服务下线。6.如权利要求5所述的微服务信息处理方法,其特征在于,服务配置信息包括:要在原始服务下线方法前添加的第二前置代码、预设时长、以及在阻塞等待各服务调用方本地缓存的服务数据过期方法后添加的第二后置代码,第二前置代码中包含待拦截指令的指令标识,预设时长能配置;根据预先配置的服务配置信息,拦截spring容器执行原组件实例销毁方法,将服务下线请求发往服务注册中心,包括:在接收到服务下线请求时,执行第二前置代码,根据执行第二前置代码来拦截spring容器执行原组件实例销毁方法,将服务下线请求发往服务注册中心;
根据服务配置信息在服务下线流程执行完毕后,阻塞等待各服务调用方本地缓存的服务数据过期,包括:在服务下线流程执行完毕后,阻塞等待预设时间长,以使各服务调用方本地缓存的服务数据过期;根据预先配置的服务配置信息,在各服务调用方的本地缓存的服务数据过期后,控制spring容器执行原组件实例销毁方法,包括:在各服务调用方本地缓存的服务数据过期后,执行第二后置代码,根据执行第二后置代码来控制spring容器执行原组件实...

【专利技术属性】
技术研发人员:张正园
申请(专利权)人:建信金融科技有限责任公司
类型:发明
国别省市:

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

1