一种微服务调用方法、电子设备及存储介质技术

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

【技术实现步骤摘要】
一种微服务调用方法、电子设备及存储介质


[0001]本专利技术涉及服务调用领域,特别是涉及一种微服务调用方法、电子设备及存储介质。

技术介绍

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

技术实现思路

[0003]针对上述技术问题,本专利技术采用的技术方案为:
[0004]根据本申请的一个方面,提供一种微服务调用方法,应用于Kubernetes系统,Kubernetes系统连接Dubbo系统和CoreDNS服务器,CoreDNS服务器通信连接有若干个客户端,CoreDNS服务器中存储有Kubernetes系统对应的IP地址,Dubbo系统包括ETCD注册中心,ETCD注册中心通信连接有若干个服务端,每一服务端中存储有若干个服务。
[0005]所述微服务调用方法包括如下步骤:
[0006]S100、响应于接收到目标客户端发送的在线服务查找请求,将在线服务查找请求发送至ETCD注册中心;
[0007]S200、接收ETCD注册中心根据在线服务查找请求发送的在线服务列表;在线服务列表中存储有处于在线状态的服务的名称;
[0008]S300、将在线服务列表发送至目标客户端;
[0009]S400、接收目标客户端发送的服务调用请求,根据服务调用请求,从若干个服务中确定目标服务;服务调用请求中包括目标服务的名称;
[0010]S500、将目标服务发送至目标客户端。
[0011]在本申请的一种示例性实施例中,CoreDNS服务器用于执行以下方法:
[0012]S010、当接收到目标客户端发送的域名时,根据域名,确定Kubernetes系统对应的IP地址;
[0013]S011、将Kubernetes系统对应的IP地址发送至目标客户端。
[0014]在本申请的一种示例性实施例中,目标客户端用于执行以下方法:
[0015]S310、当接收到CoreDNS服务器发送的Kubernetes系统对应的IP地址时,执行步骤S320;当接收到Kubernetes系统发送的在线服务列表时,执行步骤S330;
[0016]S320、根据Kubernetes系统对应的IP地址,与Kubernetes系统建立通信关系;
[0017]S321、向Kubernetes系统发送在线服务查找请求;
[0018]S330、根据目标服务的名称生成服务调用请求;
[0019]S331、将服务调用请求发送至Kubernetes系统。
[0020]在本申请的一种示例性实施例中,ETCD注册中心用于执行以下方法:
[0021]S110、当接收到Kubernetes系统发送的在线服务查找请求时,获取每一服务端中
的服务的运行状态;
[0022]S120、将运行状态为在线状态的服务的名称存储至在线服务列表;
[0023]S130、将在线服务列表发送至Kubernetes系统。
[0024]在本申请的一种示例性实施例中,每一服务端用于执行以下方法:
[0025]S020、实时获取存储的每一服务的运行状态;
[0026]S021、当服务的运行状态为在线状态时,将对应的服务的名称发送至ETCD注册中心;
[0027]S022、当服务的运行状态由在线状态更改为离线状态时,将对应的服务确定为离线服务,并将离线服务的名称发送至ETCD注册中心。
[0028]在本申请的一种示例性实施例中,ETCD注册中心还用于执行以下方法:
[0029]S030、当接收到服务端发送的离线服务的名称时,将离线服务的名称从在线服务列表中删除,并向Kubernetes系统发送状态变更信息。
[0030]在本申请的一种示例性实施例中,步骤S500包括:
[0031]S510、若目标服务为POD服务,则通过中间件将目标服务发送至目标客户端;若目标服务为API服务,则通过API接口将目标服务发送至目标客户端。
[0032]在本申请的一种示例性实施例中,每一服务端还用于执行以下方法:
[0033]S040、当接收到需要存储的待存储服务时,若待存储服务为POD服务,则执行步骤S041;若待存储服务为API服务,则执行步骤S042;
[0034]S041、若待存储服务的名称存在于预设转换表中,则根据预设转换表,将待存储服务转换为对应的API服务,并执行步骤S042;若待存储服务的名称不存在于预设转换表中,则执行步骤S042;
[0035]S042、将待存储服务存储至对应的服务端中。
[0036]根据本申请的一个方面,提供一种非瞬时性计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现前述的微服务调用方法。
[0037]根据本申请的一个方面,提供一种电子设备,包括处理器和前述的非瞬时性计算机可读存储介质。
[0038]本专利技术至少具有以下有益效果:
[0039]本专利技术通过将Kubernetes系统和Dubbo系统进行结合,通过API接口对服务进行调用,根据目标客户端的在线服务查找请求,ETCD注册中心获取所有在线服务的名称,生成在线服务列表,并返回至目标客户端,目标客户端根据在线服务列表,确定其需要调用的目标服务,Kubernetes系统将目标服务发送至目标客户端,实现API接口调用,通过Kubernetes系统对Dubbo系统进行服务调用管理,与现有的服务调用方法相比,本专利技术无需对每个服务都建立对应的调用函数,简化了服务调用过程,提高了服务调用的适用性。
附图说明
[0040]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他
的附图。
[0041]图1为本专利技术实施例提供的微服务调用方法的流程图。
具体实施方式
[0042]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0043]一种微服务调用方法,应用于Kubernetes系统,Kubernetes,简称K8s,其是一个开源的,用于管理云平台中多个主机上的容器化的编排引擎,在Kubernetes系统中,可以创建多个容器,每个容器中运行一个应用实例,通过其内置的负载均衡策略,实现对应用实例的管理,Kubernetes系统连接Dubbo系统和CoreDNS服务器,Dubbo是一个开源的服务框架,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种微服务调用方法,其特征在于,应用于Kubernetes系统,所述Kubernetes系统连接Dubbo系统和CoreDNS服务器,所述CoreDNS服务器通信连接有若干个客户端,所述CoreDNS服务器中存储有所述Kubernetes系统对应的IP地址,所述Dubbo系统包括ETCD注册中心,所述ETCD注册中心通信连接有若干个服务端,每一所述服务端中存储有若干个服务;所述微服务调用方法包括如下步骤:S100、响应于接收到目标客户端发送的在线服务查找请求,将所述在线服务查找请求发送至所述ETCD注册中心;S200、接收所述ETCD注册中心根据所述在线服务查找请求发送的在线服务列表;所述在线服务列表中存储有处于在线状态的服务的名称;S300、将所述在线服务列表发送至所述目标客户端;S400、接收所述目标客户端发送的服务调用请求,根据所述服务调用请求,从若干个服务中确定目标服务;所述服务调用请求中包括目标服务的名称;S500、将所述目标服务发送至所述目标客户端。2.根据权利要求1所述的微服务调用方法,其特征在于,所述CoreDNS服务器用于执行以下方法:S010、当接收到所述目标客户端发送的域名时,根据所述域名,确定所述Kubernetes系统对应的IP地址;S011、将所述Kubernetes系统对应的IP地址发送至所述目标客户端。3.根据权利要求2所述的微服务调用方法,其特征在于,所述目标客户端用于执行以下方法:S310、当接收到所述CoreDNS服务器发送的所述Kubernetes系统对应的IP地址时,执行步骤S320;当接收到所述Kubernetes系统发送的所述在线服务列表时,执行步骤S330;S320、根据所述Kubernetes系统对应的IP地址,与所述Kubernetes系统建立通信关系;S321、向所述Kubernetes系统发送在线服务查找请求;S330、根据目标服务的名称生成服务调用请求;S331、将所述服务调用请求发送至所述Kubernetes系统。4.根据权利要求3所述的微服务调用方法,其特征在于,所述ETCD注册中心用于执行以下方法:S110、当接收到所述Kubernetes系统发送的所述...

【专利技术属性】
技术研发人员:薄满辉唐红武付昊天高栋刘春磊魏锦明贵福胜
申请(专利权)人:中航信移动科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1