System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请属于数据处理领域,具体涉及一种服务调用方法、装置、电子设备及可读存储介质。
技术介绍
1、目前应用程序的开发中,微服务技术和服务网格技术已成为主流趋势。在微服务技术下,应用程序提供的各个功能被允许按照独立服务进行独立开发和部署。而服务网格技术则提供了强大的网络基础设施,其用于管理多个独立服务之间的通信、负载均衡、故障恢复和安全认证等。然而,微服务技术和服务网格技术之间在实际应用中也存在较多问题。
2、在目前的微服务架构下,各独立服务通常使用注册中心进行服务注册和发现。注册中心是一个中心化的服务组件,其用于管理和维护各独立服务的实例信息,具体包括各独立服务的访问地址、健康状态和元数据等。为了便于更好的管理支持各独立服务,目前微服务框架下也通常应用有服务网格,以利用服务网格为各独立服务提供网络基础功能。
3、然而,目前的注册中心无法实现对服务网络的管理,这就使得微服务架构下非网格服务(即前述独立服务)与网格服务之间的调用依赖于人为配置,提升运维成本,降低应用程序开发效率。
技术实现思路
1、本申请实施例提供的一种服务调用方法、装置、电子设备及可读存储介质,在一定程度上可以解决目前非网格服务与网格服务之间的服务调用依赖人为配置的问题。
2、第一方面,提供一种服务调用方法,应用于服务处理系统的中继组件,所述服务处理系统中的注册中心、非服务网格应用、服务网格、服务网格应用,以及所述中继组件部署于同一集群环境,所述方法还包括:
3、调用所述
4、向所述注册中心的服务消费端传输所述网格服务列表,以使得所述服务消费端用于根据所述网格服务的配置信息调用所述网格服务,以及根据注册于所述注册中心的非网格服务的配置信息调用所述非网格服务,所述非网格服务为非服务网格应用提供的服务。
5、可选地,所述方法还包括:
6、获取所述注册中心的非网格服务列表,所述非网格服务列表包括注册于所述注册中心的所有非网格服务的配置信息;
7、将所述非网格服务列表和所述网格服务列表,合并生成第一服务列表;
8、所述向所述注册中心的服务消费端传输所述网格服务列表,包括:直接向所述服务消费端传输所述第一服务列表,所述第一服务列表用于供所述服务消费端调用所述第一服务列表记录的所述配置信息对应的服务。
9、可选地,所述方法还包括:
10、拦截所述注册中心的服务消费端根据所述配置信息发送的第一待调用服务的调用请求;
11、在确定所述第一待调用服务为所述非网格服务的情况下,执行非网格服务调用处理,向所述服务消费端返回处理结果;
12、在确定所述第一待调用服务为所述网格服务的情况下,执行网格服务调用处理,向所述服务消费端返回处理结果。
13、可选地,所述第一服务列表还包括所述配置信息对应服务的服务类型标识;所述第一服务列表用于供所述服务消费端在确定所述第一待调用服务为所述非网格服务的情况下,根据所述第一待调用服务的配置信息,执行非网格服务调用处理,以及,在确定所述第一待调用服务为所述网格服务的情况下,根据所述第一待调用服务的配置信息,执行网格服务调用处理。
14、可选地,所述方法还包括:
15、将所述网格服务的配置信息注册于所述注册中心,以使得所述注册中心生成第二服务列表,所述第二服务列表包括注册于所述注册中心的所有非网格服务的配置信息,以及所述网格服务的配置信息,所述第二服务列表用于供所述服务消费端调用所述第二服务列表记录的所述配置信息对应的服务。
16、可选地,所述方法还包括:
17、将所述注册中心的所述非网格服务的配置信息,写入所述集群环境的集群管理组件,以使得所述控制面在监听到所述集群管理组件内写入所述非网格服务的配置信息的情况下,向所述服务网格的服务消费端下发所述非网格服务的配置信息,所述非网格服务的配置信息用于供所述服务网格的服务消费端,调用所述非网格服务。
18、可选地,所述集群环境为kubernetes集群环境,所述将所述注册中心的所述非网格服务的配置信息,写入所述集群环境的集群管理组件,包括:
19、将所述非网格服务的配置信息转换为serviceentry格式的配置信息,写入所述集群管理组件的kube-apiserver组件,
20、其中,所述kube-apiserver组件受所述服务网格的云原生服务网关监听,所述云原生服务网关用于在监听到所述kube-apiserver组件内写入所述serviceentry格式的配置信息的情况下,对所述serviceentry格式的配置信息进行格式适配处理,得到目标格式的配置信息,向所述服务网格的服务消费端下发所述目标格式的配置信息,所述目标格式的配置信息用于供所述服务网格的服务消费端调用所述非网格服务。
21、可选地,所述云原生服务网关还用于向所述服务网格的服务消费端下发所述配置信息的服务类型标识;
22、所述服务网格的服务消费端用于在确定第二待调用服务为所述非网格服务的情况下,根据所述第二待调用服务的配置信息,执行非网格服务调用处理;
23、所述服务网格的服务消费端还用于在确定所述第二待调用服务为所述网格服务的情况下,根据所述第二待调用服务的配置信息,执行网格服务调用处理。
24、可选地,所述将所述注册中心的所述非网格服务的配置信息,写入所述集群环境的集群管理组件,包括:
25、在目标时机将所述注册中心的所述非网格服务的配置信息,写入所述集群环境的集群管理组件,所述目标时机包括:首次连接到所述注册中心、检测到所述注册中心的配置信息变更事件、满足所述非网格服务列表的更新时机。
26、第二方面,提供了一种服务调用方法,应用于注册中心的服务消费端,所述注册中心运行于服务处理系统,所述服务处理系统中的注册中心、中继组件、非服务网格应用、服务网格、服务网格应用部署于同一集群环境,所述方法还包括:
27、获取所述注册中心的非网格服务列表,以及所述中继组件传输的网格服务列表,所述非网格服务列表包括注册于所述注册中心的所有非网格服务的配置信息,所述非网格服务为非服务网格应用提供的服务,所述网格服务列表包括所述服务网格内所述服务网格应用提供的网格服务的配置信息,所述网格服务列表是所述中继组件调用所述服务网格的控制面的服务发现接口获取的数据;
28、在待调用所述网格服务的情况下,根据所述网格服务的配置信息调用所述网格服务;
29、在待调用所述非网格服务的情况下,根据所述非网格服务的配置信息调用所述非网格服务。
30、第三方面,提供了一种服务调用方法,应用于服务网格的服务消费端,所述服务网格运行于服务处理系统,所述服务处理系统中的注册中心、中继组件、非服本文档来自技高网...
【技术保护点】
1.一种服务调用方法,其特征在于,应用于服务处理系统的中继组件,所述服务处理系统中的注册中心、非服务网格应用、服务网格、服务网格应用,以及所述中继组件部署于同一集群环境,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求2所述的方法,其特征在于,所述第一服务列表还包括所述配置信息对应服务的服务类型标识;
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1至5任一所述的方法,其特征在于,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,所述集群环境为Kubernetes集群环境,所述将所述注册中心的所述非网格服务的配置信息,写入所述集群环境的集群管理组件,包括:
8.根据权利要求7所述的方法,其特征在于,所述云原生服务网关还用于向所述服务网格的服务消费端下发所述配置信息的服务类型标识;
9.根据权利要求6所述的方法,其特征在于,所述将所述注册中心的所
10.一种服务调用方法,其特征在于,应用于注册中心的服务消费端,所述注册中心运行于服务处理系统,所述服务处理系统中的注册中心、中继组件、非服务网格应用、服务网格、服务网格应用部署于同一集群环境,所述方法还包括:
11.一种服务调用方法,其特征在于,应用于服务网格的服务消费端,所述服务网格运行于服务处理系统,所述服务处理系统中的注册中心、中继组件、非服务网格应用、服务网格、服务网格应用部署于同一集群环境,所述集群环境下还运行有所述集群环境的集群管理组件;所述方法还包括:
12.一种服务调用装置,其特征在于,应用于服务处理系统的中继组件,所述服务处理系统中的注册中心、非服务网格应用、服务网格、服务网格应用,以及所述中继组件部署于同一集群环境,所述装置还包括:
13.一种服务调用装置,其特征在于,应用于注册中心的服务消费端,所述注册中心运行于服务处理系统,所述服务处理系统中的注册中心、中继组件、非服务网格应用、服务网格、服务网格应用部署于同一集群环境,所述装置还包括:
14.一种服务调用装置,其特征在于,应用于服务网格的服务消费端,所述服务网格运行于服务处理系统,所述服务处理系统中的注册中心、中继组件、非服务网格应用、服务网格、服务网格应用部署于同一集群环境,所述集群环境下还运行有所述集群环境的集群管理组件;所述装置还包括:
15.一种电子设备,其特征在于,所述电子设备包括:处理器和存储器;
16.一种可读存储介质,其特征在于,所述可读存储介质上存储有程序或指令,所述程序或指令被处理器执行时实现权利要求1至11任一所述的方法。
...【技术特征摘要】
1.一种服务调用方法,其特征在于,应用于服务处理系统的中继组件,所述服务处理系统中的注册中心、非服务网格应用、服务网格、服务网格应用,以及所述中继组件部署于同一集群环境,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求2所述的方法,其特征在于,所述第一服务列表还包括所述配置信息对应服务的服务类型标识;
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1至5任一所述的方法,其特征在于,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,所述集群环境为kubernetes集群环境,所述将所述注册中心的所述非网格服务的配置信息,写入所述集群环境的集群管理组件,包括:
8.根据权利要求7所述的方法,其特征在于,所述云原生服务网关还用于向所述服务网格的服务消费端下发所述配置信息的服务类型标识;
9.根据权利要求6所述的方法,其特征在于,所述将所述注册中心的所述非网格服务的配置信息,写入所述集群环境的集群管理组件,包括:
10.一种服务调用方法,其特征在于,应用于注册中心的服务消费端,所述注册中心运行于服务处理系统,所述服务处理系统中的注册中心、中继组件、非服务网格应用、服务网格、服务网格应...
【专利技术属性】
技术研发人员:曾义霞,章波焕,邵如青,
申请(专利权)人:中国电信股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。