本发明涉及互联网及数字医疗,特别涉及一种微服务的请求响应方法、系统、计算机设备及介质。
背景技术:
1、随着微服务技术的大力发展,越来越多的软件平台采用微服务架构并结合灰度发布进行处理。灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行a/b testing,即让一部分用户继续用产品特性a,一部分用户开始用产品特性b,如果用户对b没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到b上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度提升产品及功能的稳定性,降低产品升级对用户的影响降低生产发布系统停机时长。
2、灰度发布的软件系统在实际请求响应场景中,每个服务都会有多个服务实例组成一个目标服务集群,所以服务消费者在发起rcp(remote produce call)实现远程调用时,需要先从目标服务集群中选择一个服务实例,这就是服务路由和负载均衡的过程。该过程会存在各环境并行迭代冲突的问题,从而降低了系统的迭代效率,增加了请求响应不必要的时间成本,降低了用户体验度。
技术实现思路
1、基于此,有必要针对各环境并行迭代冲突以及迭代效率低的问题,提供一种微服务的请求响应方法、系统、计算机设备及介质。
2、一种微服务的请求响应方法,方法包括:接收针对微服务架构的资源调用请求,并根据资源调用请求确定出灰度实例匹配策略;根据预设灰度实例标识和灰度实例匹配策略对预先构建的服务实例列表进行处理,生成正常实例列表和灰度实例列表;其中,正常实例是在灰度发布时未配置灰度策略的服务实例;灰度实例是在灰度发布时配置灰度策略的服务实例;根据正常实例列表和灰度实例列表进行路由,生成目标实例;根据目标实例生成微服务处理结果,并将微服务处理结果返回至客户端进行展示。
3、在其中一个实施例中,根据预设灰度实例标识和灰度实例匹配策略对负载均衡器中预先构建的服务实例列表进行处理,生成正常实例列表和灰度实例列表,包括:初始化预先构建的服务实例列表;根据预设灰度实例标识将服务实例列表中的多个服务实例进行区分,生成正常服务实例集合和灰度服务实例集合;根据灰度实例匹配策略在灰度服务实例集合中进行匹配,生成匹配成功的灰度实例列表;将正常服务实例集合确定为正常实例列表。
4、在其中一个实施例中,灰度实例匹配策略包括标签匹配策略和染色实例匹配策略;根据灰度实例匹配策略在灰度服务实例集合中进行匹配,生成匹配成功的灰度实例列表,包括:采用标签匹配策略在灰度服务实例集合中匹配携带预设标签的服务实例,并过滤掉未携带预设标签的灰度服务实例,得到第一灰度服务实例集合;采用染色实例匹配策略在第一灰度服务实例集合中匹配携带预设染色参数的服务实例,并过滤掉未携带预设染色参数的服务实例,得到第二灰度服务实例集合;针对第二灰度服务实例集合进行等级划分,得到多级灰度服务实例集合;将多级灰度服务实例集合确定为匹配成功的灰度实例列表。
5、在其中一个实施例中,根据正常实例列表和灰度实例列表进行路由,生成目标实例,包括:根据灰度实例列表进行负载均衡,得到匹配结果;根据匹配结果确定灰度实例列表中是否存在资源调用请求对应的目标灰度实例;若是,则将目标灰度实例确定为目标实例;或者,若否,根据正常实例列表进行负载均衡,得到目标实例。
6、在其中一个实施例中,接收针对微服务架构的资源调用请求之前,还包括:确定当前系统中可对外提供服务能力的多个程序集;构建每个程序集的服务实例,得到多个服务实例;针对多个服务实例中每个实例添加服务标签,得到打标服务实例;根据服务标签对打标服务实例进行分类,得到多种类型的服务实例;在接收到针对多种类型的服务实例中任意一个服务实例的灰度策略配置指令时,对任意一个服务实例配置灰度策略;在灰度策略配置结束后,生成预先构建的服务实例列表。
7、在其中一个实施例中,根据资源调用请求确定出灰度实例匹配策略,包括:解析资源调用请求,得到解析数据;提取解析数据中的策略标识;当所述策略标识与预设标签和/或预设染色参数的标识一致时,将一致的标签所对应的标签匹配策略和/或一致的标识所对应的染色实例匹配策略确定为灰度实例匹配策略。
8、在其中一个实施例中,根据目标实例生成微服务处理结果,包括:获取资源调用请求中携带的实例参数;确定目标实例对应的应用程序接口,并调用应用程序接口的方法函数;将实例参数输入方法函数中,得到可执行的服务脚本;运行服务脚本,生成微服务处理结果。
9、一种微服务的请求响应系统,系统包括:灰度实例匹配策略确定模块,用于接收针对微服务架构的资源调用请求,并根据资源调用请求确定出灰度实例匹配策略;实例列表生成模块,用于根据预设灰度实例标识和灰度实例匹配策略对预先构建的服务实例列表进行处理,生成正常实例列表和灰度实例列表;其中,正常实例是在灰度发布时未配置灰度策略的服务实例;灰度实例是在灰度发布时配置灰度策略的服务实例;目标实例生成模块,用于根据正常实例列表和灰度实例列表进行路由,生成目标实例;微服务处理结果展示模块,用于根据目标实例生成微服务处理结果,并将微服务处理结果返回至客户端进行展示。
10、一种计算机设备,包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述微服务的请求响应方法的步骤。
11、一种存储有计算机可读指令的介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述微服务的请求响应方法的步骤。
12、上述微服务的请求响应方法、系统、设备和介质,微服务的请求响应系统首先接收针对微服务架构的资源调用请求,并根据资源调用请求确定出灰度实例匹配策略,然后根据预设灰度实例标识和灰度实例匹配策略对预先构建的服务实例列表进行处理,生成正常实例列表和灰度实例列表,其中正常实例是在灰度发布时未配置灰度策略的服务实例,灰度实例是在灰度发布时配置灰度策略的服务实例;其次根据正常实例列表和灰度实例列表进行路由,生成目标实例,最后根据目标实例生成微服务处理结果,将微服务处理结果返回至客户端进行展示。由于本申请根据预设灰度实例标识和灰度实例匹配策略对预先构建的服务实例列表进行处理,以生成正常实例列表和灰度实例列表进行路由操作,在路由时可根据正常实例列表和灰度实例列表两个表进行动态的负载均衡,从而避免了各环境并行迭代冲突的问题,提升了系统的迭代效率,降低了请求响应不必要的时间成本,提升了用户体验度。
1.一种微服务的请求响应方法,其特征在于,所述方法包括:
2.根据权利要求2所述的方法,其特征在于,所述根据预设灰度实例标识和所述灰度实例匹配策略对负载均衡器中预先构建的服务实例列表进行处理,生成正常实例列表和灰度实例列表,包括:
3.根据权利要求2所述的方法,其特征在于,所述灰度实例匹配策略包括标签匹配策略和染色实例匹配策略;
4.根据权利要求1所述的方案,其特征在于,所述根据所述正常实例列表和灰度实例列表进行路由,生成目标实例,包括:
5.根据权利要求1所述的方法,其特征在于,所述接收针对微服务架构的资源调用请求之前,还包括:
6.根据权利要求1所述的方法,其特征在于,所述根据所述资源调用请求确定出灰度实例匹配策略,包括:
7.根据权利要求1所述的方法,其特征在于,所述根据所述目标实例生成微服务处理结果,包括:
8.一种微服务的请求响应系统,其特征在于,所述系统包括:
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项权利要求所述微服务的请求响应方法的步骤。
10.一种存储有计算机可读指令的介质,其特征在于,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7权利要求书中任一项权利要求所述微服务的请求响应的步骤。