一种微服务调用方法、电子设备及存储介质与流程

文档序号:35865154发布日期:2023-10-26 22:58阅读:32来源:国知局
一种微服务调用方法、电子设备及存储介质与流程

本发明涉及服务调用领域,特别是涉及一种微服务调用方法、电子设备及存储介质。


背景技术:

1、目前的服务调用方法,是采用中间件的方式去调用相关服务,且每个服务有对应的调用函数,若新建一个服务,就要对其创建对应的调用函数,普适性较差。


技术实现思路

1、针对上述技术问题,本发明采用的技术方案为:

2、根据本申请的一个方面,提供一种微服务调用方法,应用于kubernetes系统,kubernetes系统连接dubbo系统和coredns服务器,coredns服务器通信连接有若干个客户端,coredns服务器中存储有kubernetes系统对应的ip地址,dubbo系统包括etcd注册中心,etcd注册中心通信连接有若干个服务端,每一服务端中存储有若干个服务。

3、所述微服务调用方法包括如下步骤:

4、s100、响应于接收到目标客户端发送的在线服务查找请求,将在线服务查找请求发送至etcd注册中心;

5、s200、接收etcd注册中心根据在线服务查找请求发送的在线服务列表;在线服务列表中存储有处于在线状态的服务的名称;

6、s300、将在线服务列表发送至目标客户端;

7、s400、接收目标客户端发送的服务调用请求,根据服务调用请求,从若干个服务中确定目标服务;服务调用请求中包括目标服务的名称;

8、s500、将目标服务发送至目标客户端。

9、在本申请的一种示例性实施例中,coredns服务器用于执行以下方法:

10、s010、当接收到目标客户端发送的域名时,根据域名,确定kubernetes系统对应的ip地址;

11、s011、将kubernetes系统对应的ip地址发送至目标客户端。

12、在本申请的一种示例性实施例中,目标客户端用于执行以下方法:

13、s310、当接收到coredns服务器发送的kubernetes系统对应的ip地址时,执行步骤s320;当接收到kubernetes系统发送的在线服务列表时,执行步骤s330;

14、s320、根据kubernetes系统对应的ip地址,与kubernetes系统建立通信关系;

15、s321、向kubernetes系统发送在线服务查找请求;

16、s330、根据目标服务的名称生成服务调用请求;

17、s331、将服务调用请求发送至kubernetes系统。

18、在本申请的一种示例性实施例中,etcd注册中心用于执行以下方法:

19、s110、当接收到kubernetes系统发送的在线服务查找请求时,获取每一服务端中的服务的运行状态;

20、s120、将运行状态为在线状态的服务的名称存储至在线服务列表;

21、s130、将在线服务列表发送至kubernetes系统。

22、在本申请的一种示例性实施例中,每一服务端用于执行以下方法:

23、s020、实时获取存储的每一服务的运行状态;

24、s021、当服务的运行状态为在线状态时,将对应的服务的名称发送至etcd注册中心;

25、s022、当服务的运行状态由在线状态更改为离线状态时,将对应的服务确定为离线服务,并将离线服务的名称发送至etcd注册中心。

26、在本申请的一种示例性实施例中,etcd注册中心还用于执行以下方法:

27、s030、当接收到服务端发送的离线服务的名称时,将离线服务的名称从在线服务列表中删除,并向kubernetes系统发送状态变更信息。

28、在本申请的一种示例性实施例中,步骤s500包括:

29、s510、若目标服务为pod服务,则通过中间件将目标服务发送至目标客户端;若目标服务为api服务,则通过api接口将目标服务发送至目标客户端。

30、在本申请的一种示例性实施例中,每一服务端还用于执行以下方法:

31、s040、当接收到需要存储的待存储服务时,若待存储服务为pod服务,则执行步骤s041;若待存储服务为api服务,则执行步骤s042;

32、s041、若待存储服务的名称存在于预设转换表中,则根据预设转换表,将待存储服务转换为对应的api服务,并执行步骤s042;若待存储服务的名称不存在于预设转换表中,则执行步骤s042;

33、s042、将待存储服务存储至对应的服务端中。

34、根据本申请的一个方面,提供一种非瞬时性计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现前述的微服务调用方法。

35、根据本申请的一个方面,提供一种电子设备,包括处理器和前述的非瞬时性计算机可读存储介质。

36、本发明至少具有以下有益效果:

37、本发明通过将kubernetes系统和dubbo系统进行结合,通过api接口对服务进行调用,根据目标客户端的在线服务查找请求,etcd注册中心获取所有在线服务的名称,生成在线服务列表,并返回至目标客户端,目标客户端根据在线服务列表,确定其需要调用的目标服务,kubernetes系统将目标服务发送至目标客户端,实现api接口调用,通过kubernetes系统对dubbo系统进行服务调用管理,与现有的服务调用方法相比,本发明无需对每个服务都建立对应的调用函数,简化了服务调用过程,提高了服务调用的适用性。



技术特征:

1.一种微服务调用方法,其特征在于,应用于kubernetes系统,所述kubernetes系统连接dubbo系统和coredns服务器,所述coredns服务器通信连接有若干个客户端,所述coredns服务器中存储有所述kubernetes系统对应的ip地址,所述dubbo系统包括etcd注册中心,所述etcd注册中心通信连接有若干个服务端,每一所述服务端中存储有若干个服务;

2.根据权利要求1所述的微服务调用方法,其特征在于,所述coredns服务器用于执行以下方法:

3.根据权利要求2所述的微服务调用方法,其特征在于,所述目标客户端用于执行以下方法:

4.根据权利要求3所述的微服务调用方法,其特征在于,所述etcd注册中心用于执行以下方法:

5.根据权利要求1所述的微服务调用方法,其特征在于,每一所述服务端用于执行以下方法:

6.根据权利要求5所述的微服务调用方法,其特征在于,所述etcd注册中心还用于执行以下方法:

7.根据权利要求1所述的微服务调用方法,其特征在于,所述步骤s500包括:

8.根据权利要求7所述的微服务调用方法,其特征在于,每一所述服务端还用于执行以下方法:

9.一种非瞬时性计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,其特征在于,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1-8中任意一项所述的微服务调用方法。

10.一种电子设备,其特征在于,包括处理器和权利要求9中所述的非瞬时性计算机可读存储介质。


技术总结
本发明提供了一种微服务调用方法、电子设备及存储介质,该方法包括:响应于接收到目标客户端发送的在线服务查找请求,将在线服务查找请求发送至ETCD注册中心;接收ETCD注册中心根据在线服务查找请求发送的在线服务列表;在线服务列表中存储有处于在线状态的服务的名称;将在线服务列表发送至目标客户端;接收目标客户端发送的服务调用请求,根据服务调用请求,从若干个服务中确定目标服务;将目标服务发送至目标客户端。本发明通过Kubernetes系统对Dubbo系统进行服务调用管理,与现有的服务调用方法相比,无需对每个服务都建立对应的调用函数,简化了服务调用过程,提高了服务调用的适用性。

技术研发人员:薄满辉,唐红武,付昊天,高栋,刘春磊,魏锦明,贵福胜
受保护的技术使用者:中航信移动科技有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1