本申请属于计算机,尤其涉及一种微服务资源获取的方法、装置、设备、介质及产品。
背景技术:
1、服务器中存储多个灰度版本的微服务资源,其中,灰度版本的微服务资源是在未更新的微服务的基础上,对未更新的微服务中的部分功能进行更新后的微服务资源。在对微服务进行灰度发布的过程中,客户端可以向微服务节点发送微服务资源请求指令,以获取对应的微服务资源。其中,每个微服务节点存储有一个灰度版本的微服务资源。
2、当客户端通过微服务资源请求指令请求特定灰度版本的微服务资源时,首先将微服务资源请求指令发送给网关,然后网关根据统一资源定位符(uniform resourcelocator,url)将微服务资源请求转发到存储有该微服务的资源的节点上,但是服务器中存储由该微服务的资源的节点数量可能为多个,因此接收到微服务资源请求的节点可能未存储特定灰度版本的微服务资源,因此该微服务节点无法向客户端返回微服务资源,从而造成客户端请求异常。
技术实现思路
1、本申请实施例提供一种微服务资源获取的方法、装置、设备、介质及产品,能够及时向客户端反馈请求的微服务资源。
2、第一方面,本申请实施例提供一种微服务资源获取的方法,应用于服务器,所述方法包括:
3、接收客户端发送的版本资源请求,所述版本资源请求包括客户端请求的目标文件名称;
4、在共享存储空间中查找与所述目标文件名称对应的目标文件,所述共享存储空间中存储有已发布微服务资源的文件;
5、向所述客户端发送所述目标文件。
6、在一种可能的实现方式中,在所述在共享存储空间中查找与所述目标文件名称对应的目标文件之前,所述方法还包括:
7、获取多个版本的微服务资源文件,所述微服务资源文件是对源码进行增量配置得到的;
8、分别对多个版本的微服务资源文件进行打包处理,得到多个镜像文件包;
9、生成每个镜像文件包对应的执行脚本运行所述执行脚本将所述镜像文件包存储至所述共享存储空间中。
10、在一种可能的实现方式中,所述分别对多个版本微服务资源文件进行打包处理,得到多个镜像文件包,包括:
11、针对每个微服务资源文件,计算所述微服务资源文件的文件内容的哈希值;
12、基于每个微服务资源文件的文件内容的哈希值和文件名称分别对多个版本的微服务资源文件进行打包处理,得到每个版本微服务资源文件对应的镜像文件包。
13、在一种可能的实现方式中,所述运行所述执行脚本将所述镜像文件包存储至所述共享存储空间中,包括:
14、根据每个微服务资源文件的文件内容的哈希值,确定所述执行脚本对应的镜像文件包中与所述共享存储空间中已存储的微服务资源文件的重复文件;
15、针对每个镜像文件包中的重复文件,运行所述执行脚本,在所述共享存储空间中存储一个重复文件。
16、在一种可能的实现方式中,所述共享存储空间中还包括每个微服务资源文件的存储时间戳;在所述运行所述执行脚本,将所述镜像文件包中除所述重复文件之外的微服务资源文件存入所述共享存储空间之后,所述方法还包括:
17、更新所述重复文件的存储时间戳;
18、每隔预设时长,根据每个微服务资源文件的存储时间戳确定所述预设时长内所述存储时间戳未更新的微服务资源文件;
19、将所述预设时长内所述存储时间戳未更新的微服务资源文件从所述共享存储空间中删除。
20、第二方面,本申请实施例提供一种微服务资源获取的装置,应用于服务器,所述装置包括:
21、接收模块,用于接收客户端发送的版本资源请求,所述版本资源请求包括客户端请求的目标文件名称;
22、查找模块,用于在共享存储空间中查找与所述目标文件名称对应的目标文件,所述共享存储空间中存储有已发布微服务资源的文件;
23、发送模块,用于向所述客户端发送所述目标文件。
24、在一种可能的实现方式中,所述装置还包括:
25、获取模块,用于获取多个版本的微服务资源文件,所述微服务资源文件是对源码进行增量配置得到的;
26、打包模块,用于分别对多个版本的微服务资源文件进行打包处理,得到多个镜像文件包;
27、生成模块,用于生成每个镜像文件包对应的执行脚本运行所述执行脚本将所述镜像文件包存储至所述共享存储空间中。
28、第三方面,本申请实施例提供一种电子设备,所述设备包括:处理器以及存储有计算机程序指令的存储器;
29、所述处理器执行所述计算机程序指令时实现如第一方面任意一项所述的方法。
30、第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如第一方面任意一项所述的方法。
31、第五方面,本申请实施例提供一种计算机程序产品,计算机产品包括计算机程序,所述计算机程序被处理器执行时实现第一方面任意一项所述的方法。
32、采用本申请实施例提供的一种微服务资源获取的方法、装置、设备及计算机存储介质,服务器接收到版本资源请求可以从共享存储空间中查找与客户端请求的目标文件名称相同的目标文件,以使得服务器可以向客户端返回目标文件。其中,版本资源请求中包括请求的目标文件名称,共享存储空间中有已发布微服务资源的所有文件,保证了服务器及时向客户端返回目标文件,避免了客户端请求异常。
1.一种微服务资源获取的方法,其特征在于,应用于服务器,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,在所述在共享存储空间中查找与所述目标文件名称对应的目标文件之前,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述分别对多个版本微服务资源文件进行打包处理,得到多个镜像文件包,包括:
4.根据权利要求3所述的方法,其特征在于,所述运行所述执行脚本将所述镜像文件包存储至所述共享存储空间中,包括:
5.根据权利要求4所述的方法,其特征在于,所述共享存储空间中还包括每个微服务资源文件的存储时间戳;在所述运行所述执行脚本,将所述镜像文件包中除所述重复文件之外的微服务资源文件存入所述共享存储空间之后,所述方法还包括:
6.一种微服务资源获取的装置,其特征在于,应用于服务器,所述装置包括:
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
8.一种电子设备,其特征在于,所述设备包括:处理器以及存储有计算机程序指令的存储器;
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-5任意一项所述的方法。
10.一种计算机程序产品,其特征在于,计算机产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任意一项所述的方法。