一种微服务的调用方法技术

技术编号:37115416 阅读:24 留言:0更新日期:2023-04-01 05:11
本发明专利技术公开了一种微服务的调用方法,通过服务注册代理器共同实现微服务注册和微服务访问代理,服务注册代理器接收微服务连接,保存微服务相关信息到服务路由表中,服务注册代理器能够将服务路由表的变化信息传播到相邻的服务注册代理器,用于服务代理本地服务域的微服务对外调用其它服务域内的微服务访问,同时也能够代理其它服务域内的微服务对本地服务域注册的微服务的请求访问,解决不同网络中微服务的相互调用的复杂度;而且微服务本身不需要开放端口,由服务注册代理器开放端口接收微服务的注册,建立长链接,实现双向通信,提高安全性,而且能够避免频繁创建断开连接造成的高RTT,和TIME_WAIT问题。和TIME_WAIT问题。和TIME_WAIT问题。

【技术实现步骤摘要】
一种微服务的调用方法


[0001]本专利技术涉及微服务调用
,特别涉及一种微服务的调用方法。

技术介绍

[0002]当前云服务内部部署的微服务通过服务注册发现的方式只能调用自身云平台上部署的其它微服务,根本原因是服务注册时,注册到注册服务器上的地址和端口是云平台动态调度分配的IP地址和端口,该端口只能在容器内部网络中访问;包括Docker Compose,Docker Swarm,Kubernetes,都是这样处理的;也因此部署在不同云平台上的微服务不能通过注册服务实现自动的跨云调用;同理,相互不能访问的不同网络环境下的多个微服务也不能通过一个可以共同访问到的注册中心来实现服务之间的相互调用。

技术实现思路

[0003]本专利技术旨在至少解决现有技术中存在的技术问题。为此,本专利技术提出一种微服务的调用方法,应用于微服务的调用系统,所述微服务的调用系统包括位于不同服务域内的多个服务注册代理器,所述多个服务注册代理器之间构建通信连接,每一个服务注册代理器分别构建服务路由表并开放端口接收对应本地服务域内的微服务的注册,每一个服本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种微服务的调用方法,其特征在于,应用于微服务的调用系统,所述微服务的调用系统包括位于不同服务域内的多个服务注册代理器,所述多个服务注册代理器之间构建通信连接,每一个服务注册代理器分别构建服务路由表并开放端口接收对应本地服务域内的微服务的注册,每一个服务注册代理器均包括一个服务路由表,服务注册代理器将所述服务路由表的服务注册代理器的上下线信息、微服务的上下线信息、服务节点连接状态信息和网络链路状态信息向对应的邻居代理器传播;所述微服务的调用方法包括:所述多个服务注册代理器中的第一服务注册代理器接收其本地服务域内的第一微服务调用第二微服务的调用请求,所述调用请求中携带有调用信息;当所述第二微服务位于第二服务注册代理器的服务域内且所述第一服务注册代理器与所述第二服务注册代理器之间通过若干个服务注册代理器构建通信连接时,所述第一服务注册代理器通过所述若干个服务注册代理器将所述调用请求依次传送至所述第二服务注册代理器,以使所述第二服务注册代理器根据所述调用请求中的调用信息查询对应所述服务路由表中的所述第二微服务的信息,并根据查询到的信息将所述调用请求转发至所述第二服务注册代理器与所述第二微服务之间的长链接中,将此次调用产生的服务信息写入对应所述服务路由表中。2.根据权利要求1所述的微服务的调用方法,其特征在于,所述微服务的调用方法还包括:当所述第二微服务位于所述第一服务注册代理器的本地服务域时,所述第一服务注册代理器根据所述调用请求中的调用信息从所述服务路由表中找到所述第一服务注册代理器与所述第二微服务之间的长链接,并将所述调用请求转发至所述第一服务注册代理器与所述第二微服务之间的长链接中,将此次调用产生的服务信息写入对应所述服务路由表中。3.根据权利要求2所述的微服务的调用方法,其特征在于,所述微服务的调用方法还包括:当所述第一微服务与所述第一服务注册代理器断开连接时,所述第一服务注册代理器丢弃所述服务路由表中的所述第一微服务的所有信息,并将所述第一服务注册代理器的网络链路状态信息发送到其邻居代理器。4.根据权利要求2所述的微服务的调用方法,其特征在于,所述第一服务注册代理器与其本地服务域内的微服务以RSOCKET协议或GRPC协议进行通信。5.根据权利要求2所述的微服务的调用方法,其特征在于,所述调用信息至少包含被调用的微服务的名称,所述被调用的微服务的名称写入至所述调用请求的报文头中;所述第二服务注册代理器根据所述调用请求中的调用信息查询对应所述服务路由表中的所述第二微服务的信息,包括:所...

【专利技术属性】
技术研发人员:龚建军郑蕾
申请(专利权)人:长沙富格伦信息科技有限公司
类型:发明
国别省市:

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

1