本技术涉及计算机,特别是涉及一种基于服务网格的服务请求方法、计算机设备和计算机可读存储介质。
背景技术:
1、目前,在通过服务网格(service mesh)进行服务之间的请求交互过程中,针对私有协议识别,通常是采用基于请求的内容类型进行判断的方式,或者是基于解析请求包的包头判断协议类型。
2、但上述传统的协议识别方法存在协议类型误判情况,无法精确判断出目标服务的实际采用协议,会造成转发请求失败,针对海量的私有协议,采用传统的协议识别方法转换效率低。
技术实现思路
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、根据所述数据面组件本地缓存的服务配置信息,识别所述目标业务服务对应的服务通信协议类型;所述服务配置信息为基于服务注册操作得到,由所述服务网格中的控制面组件预先通过预设通信协议下发至所述数据面组件;
33、按照所述目标业务服务对应的服务通信协议类型,对所述业务服务请求进行协议转换,将转换后业务服务请求发送至所述目标业务服务;所述转换后业务服务请求用于指示所述目标业务服务返回针对所述业务服务请求的响应信息。
34、第四方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
35、通过服务网格中的数据面组件,接收客户端调用目标业务服务而发起的业务服务请求;
36、根据所述数据面组件本地缓存的服务配置信息,识别所述目标业务服务对应的服务通信协议类型;所述服务配置信息为基于服务注册操作得到,由所述服务网格中的控制面组件预先通过预设通信协议下发至所述数据面组件;
37、按照所述目标业务服务对应的服务通信协议类型,对所述业务服务请求进行协议转换,将转换后业务服务请求发送至所述目标业务服务;所述转换后业务服务请求用于指示所述目标业务服务返回针对所述业务服务请求的响应信息。
38、上述一种基于服务网格的服务请求方法、计算机设备和计算机可读存储介质,通过服务网格中的数据面组件,接收客户端调用目标业务服务而发起的业务服务请求,然后根据数据面组件本地缓存的服务配置信息,识别目标业务服务对应的服务通信协议类型,该服务配置信息为基于服务注册操作得到,由服务网格中的控制面组件预先通过预设通信协议下发至数据面组件,进而按照目标业务服务对应的服务通信协议类型,对业务服务请求进行协议转换,将转换后业务服务请求发送至目标业务服务,该转换后业务服务请求用于指示目标业务服务返回针对业务服务请求的响应信息,实现了对服务请求交互过程中的协议识别及转换优化,通过控制面预先下发,基于服务注册操作得到的服务配置信息,以该服务配置信息进行协议识别,进而经协议转换后转发服务请求,能够复用原生服务网格、扩展网关的协议识别能力,有效提升了协议识别及转换效率,且提升了协议识别精确度。