CN114553967A - 一种微服务间的调用方法和相关装置 - Google Patents
一种微服务间的调用方法和相关装置 Download PDFInfo
- Publication number
- CN114553967A CN114553967A CN202210043716.4A CN202210043716A CN114553967A CN 114553967 A CN114553967 A CN 114553967A CN 202210043716 A CN202210043716 A CN 202210043716A CN 114553967 A CN114553967 A CN 114553967A
- Authority
- CN
- China
- Prior art keywords
- service
- micro
- calling
- micro service
- instruction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种微服务间的调用方法和相关装置,响应于第一微服务启动,第一微服务从注册中心获取第一微服务订阅的注册服务集合,该注册服务集合包括第一微服务订阅的至少一个微服务对应的调用地址,如第二微服务对应的目标调用地址。第一微服务接收调用第二微服务的调用指令后,根据该调用指令从注册服务集合中获取目标调用地址,从而第一微服务根据目标调用地址调用第二微服务。由此,在各个微服务启动后,各个微服务会将各自的调用地址发送至注册中心,注册中心保存各个微服务对应的最新的调用地址,即使第二微服务对应的目标调用地址发生变化,无需调整DNS解析地址,注册中心也会保存有最新的目标调用地址,实现微服务间的调用。
Description
技术领域
本发明涉及云计算技术领域,尤其是涉及一种微服务间的调用方法和相关装置。
背景技术
微服务系统为一种小型的软件的组件群,提倡将单一应用程序(软件)划分成一组小的服务,每一个小的服务可以称为一种微服务,通过一个组件实现微服务对应的功能,多个微服务之间互相协调、互相配合,为用户提供最终价值。
相关技术中,会通过调用外部表象化状态转变(Representational StateTransfer,REST)的方式实现微服务间的调用,例如,微服务A通过调用外部REST的方式调用微服务B,从而实现微服务间的相互调用。
但是,若微服务的内部地址发生变更,必须要对应调整域名系统(Domain NameSystem)中的解析地址,否则会出现由于内部地址错误导致的内部微服务间无法互相调用的问题。
发明内容
针对上述问题,本申请提供一种微服务间的调用方法和相关装置,用于解决由于内部地址错误导致的内部微服务间无法互相调用的问题。
基于此,本申请实施例公开了如下技术方案:
一方面,本申请实施例提供一种微服务间的调用方法,所述方法包括:
响应于第一微服务启动,所述第一微服务从注册中心获取注册服务集合;其中,所述注册服务集合包括所述第一微服务订阅的至少一个微服务对应的调用地址;
所述第一微服务接收调用第二微服务的调用指令;其中,所述第二微服务为所述第一微服务订阅的微服务,在启动后将所述第二微服务对应的目标调用地址发送至所述注册中心;
所述第一微服务根据所述调用指令,从所述注册服务集合中确定所述目标调用地址;
所述第一微服务根据所述目标调用地址调用所述第二微服务。
可选的,所述方法还包括:
若所述注册中心检测到所述目标调用地址发生变化,所述第一微服务接收所述注册中心发送更新后的目标调用地址。
可选的,所述第一微服务接收调用第二微服务的调用指令,包括:
所述第一微服务接收调用所述第一微服务的综合指令;
所述第一微服务从所述综合指令中解析出调用第二微服务的调用指令。
可选的,所述第一微服务接收调用所述第一微服务的综合指令,包括:
响应于所述综合指令通过网关服务的鉴权,所述第一微服务接收所述综合指令。
可选的,所述方法还包括:
响应于所述综合指令未通过所述网关服务的鉴权,所述网关服务向用户返回操作不合法的提示,并不再向所述第一微服务发送调用所述第一微服务的综合指令。
可选的,所述网关服务包括多种子路由,不同子路由对应不同的鉴权流程。
可选的,所述方法还包括:
所述网关服务接收所述综合指令,所述综合指令携带所述第一微服务的标识;
所述网关服务根据所述综合指令确定所述第一微服务对应的目标子路由;
所述网关服务将所述综合指令发送至所述目标子路由执行对应的鉴权流程。
另一方面本申请提供了一种微服务间的调用装置,所述装置包括:获取单元、接收单元、确定单元和调用单元;
所述获取单元,用于响应于第一微服务启动,所述第一微服务从注册中心获取注册服务集合;其中,所述注册服务集合包括所述第一微服务订阅的至少一个微服务对应的调用地址;
所述接收单元,用于所述第一微服务接收调用第二微服务的调用指令;其中,所述第二微服务为所述第一微服务订阅的微服务,在启动后将所述第二微服务对应的目标调用地址发送至所述注册中心;
所述确定单元,用于所述第一微服务根据所述调用指令,从所述注册服务集合中确定所述目标调用地址;
所述调用单元,用于所述第一微服务根据所述目标调用地址调用所述第二微服务。作为一种可能的实现方式,所述接收单元,用于:
若所述注册中心检测到所述目标调用地址发生变化,所述第一微服务接收所述注册中心发送更新后的目标调用地址。
可选的,所述接收单元,用于:
所述第一微服务接收调用所述第一微服务的综合指令;
所述第一微服务从所述综合指令中解析出调用第二微服务的调用指令。
可选的,所述接收单元,用于:
响应于所述综合指令通过网关服务的鉴权,所述第一微服务接收所述综合指令。
可选的,所述装置还包括返回单元,用于:
响应于所述综合指令未通过所述网关服务的鉴权,所述网关服务向用户返回操作不合法的提示,并不再向所述第一微服务发送调用所述第一微服务的综合指令。
可选的,所述装置包括的网关服务包括多种子路由,不同子路由对应不同的鉴权流程。
可选的,所述装置还包括鉴权单元,用于:
所述网关服务接收所述综合指令,所述综合指令携带所述第一微服务的标识;
所述网关服务根据所述综合指令确定所述第一微服务对应的目标子路由;
所述网关服务将所述综合指令发送至所述目标子路由执行对应的鉴权流程。
另一方面本申请提供了一种计算机设备,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行上述方面所述的方法。
另一方面本申请提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述方面所述的方法。
另一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面所述的方法。
相对于现有技术,本申请上述技术方案的优点在于:
第一微服务通过注册中心订阅第二微服务,第二微服务在启动后,会将第二微服务对应的调用地址发送至注册中心。响应于第一微服务启动,第一微服务从注册中心获取第一微服务订阅的注册服务集合,该注册服务集合包括第一微服务订阅的至少一个微服务对应的调用地址,如第二微服务对应的目标调用地址。第一微服务接收调用第二微服务的调用指令后,根据该调用指令从注册服务集合中获取目标调用地址,从而第一微服务根据目标调用地址调用第二微服务。由此,在各个微服务启动后,各个微服务会将各自的调用地址发送至注册中心,注册中心保存各个微服务对应的最新的调用地址,即使第二微服务对应的目标调用地址发生变化,无需调整DNS解析地址,注册中心也会保存有最新的目标调用地址,从而当第一微服务接收调用第二微服务的调用指令后,可以根据第一微服务从注册中心获取的注册服务集合中确定第二微服务对应的目标调用地址,实现对第二微服务的调用。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种微服务间的调用方法的流程图;
图2为本申请实施例提供的一种注册中心的示意图;
图3为本申请实施例提供的一种用户使用微服务系统的示意图;
图4为本申请实施例提供的一种网关服务通过自定义过滤器工厂对综合指令进行鉴权的示意图;
图5为本申请实施例提供的一种微服务间的调用装置的示意图;
图6为本申请实施例提供的一种计算机设备的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
系统间的微服务之间可以相互调用。例如,用户A通过办公自动化(OfficeAutomation,OA)系统向用户B申请在应用程序的页面发布广告的请求后,OA系统会向用户A和用户B发送邮件。在该过程中涉及OA系统中资源位申请服务和邮件服务两个微服务,资源位申请服务在将本次请求事件的节点从用户A流转到用户B后,资源位申请服务会通过外部REST调用邮件服务给用户A和用户B发送邮件。若邮件服务的内部地址发生变化,没有重新调整DNS中的解析地址,资源位申请服务就无法实现对邮件服务的调用,出现邮件服务无法访问等问题。
基于此,本申请实施例提供一种微服务间的调用方法,该方法涉及第一微服务和第二微服务,第一微服务通过注册中心订阅第二微服务,第二微服务在启动后,会将第二微服务对应的调用地址发送至注册中心。响应于第一微服务启动,第一微服务从注册中心获取第一微服务订阅的注册服务集合,该注册服务集合包括第一微服务订阅的至少一个微服务对应的调用地址,如第二微服务对应的目标调用地址。第一微服务接收调用第二微服务的调用指令后,根据该调用指令从注册服务集合中获取目标调用地址,从而第一微服务根据目标调用地址调用第二微服务。由此,在各个微服务启动后,各个微服务会将各自的调用地址发送至注册中心,注册中心保存各个微服务对应的最新的调用地址,即使第二微服务对应的目标调用地址发生变化,无需调整DNS解析地址,注册中心也会保存有最新的目标调用地址,从而当第一微服务接收调用第二微服务的调用指令后,可以根据第一微服务从注册中心获取的注册服务集合中确定第二微服务对应的目标调用地址,实现对第二微服务的调用。
下面结合图1,对本申请实施例提供的一种微服务间的调用方法进行介绍。参见图1,该图为本申请实施例提供的一种微服务间的调用方法的流程图,该方法可以包括S101-S104。
微服务系统中包括多种微服务,例如,资源位申请服务、用户服务、邮件服务等,多种微服务间可以根据需求相互调用。
微服务系统中还包括注册中心,注册中心相当于微服务系统的“通讯录”,记录了微服务和调用地址的映射关系。本申请实施例不具体限定注册中心,例如可以为nacos服务注册中心。
微服务在启动后,均会注册到注册中心,即各个微服务将各自的调用地址发送给注册中心。需要说明的是,微服务的调用地址在下一次启动后才会发生更改,故每一次微服务启动后发送给注册中心的调用地址均是该微服务最新的调用地址。
作为一种可能的实现方式,注册中心还具备心跳检测功能,即注册中心会实时检测或者每隔固定时间检测已注册的微服务是否还能提供对应功能,若微服务A无法提供对应功能,如微服务A出现故障,则注册中心会移除微服务A的调用地址,并通知订阅微服务A的其他微服务。
下面继续以第一微服务调用第二微服务为例,对本申请实施例提供的微服务间的调用方法进行说明。
S101:响应于第一微服务启动,第一微服务从注册中心获取注册服务集合。
第一微服务启动后,第一微服务不仅要将其调用地址发送给注册中心,还要从注册中心获取注册服务集合,该注册服务集合包括第一微服务订阅的至少一个微服务对应的调用地址。
需要说明的是,第一微服务要想调用第二微服务,需要订阅第二微服务。第二微服务在启动后,会注册到注册中心,即将其对应的目标调用地址发送给注册中心,注册中心将目标调用地址添加至第一微服务订阅的注册服务集合中。由此,第一微服务订阅的注册服务集合中包括第二微服务对应的目标调用地址。
作为一种可能的实现方式,若注册中心检测到目标调用带孩子发生变化,则向第一微服务发送更新后的目标调用地址,以便第一微服务存储的调用地址均为订阅的微服务对应的最新的调用地址。
S102:第一微服务接收调用第二微服务的调用指令。
作为一种可能的实现方式,第一微服务接收调用第一微服务的综合指令,第一微服务从综合指令中解析出调用第二微服务的调用指令。具体地,第一微服务会接收到综合指令,该综合指令不仅用于指示调用第一微服务,还用于指示第一微服务调用如第二微服务等其他微服务,以便通过第一微服务与其他微服务配合,为用户提供最终价值。
S103:第一微服务根据调用指令,从注册服务集合中确定目标调用地址。
注册服务集合中包括多种第一微服务订阅的微服务对应的调用地址,故第一微服务根据调用指令,可以从注册服务集合中确定出第二微服务对应的目标调用地址,从而第一微服务可以根据目标调用地址直接调用第二微服务。
S104:第一微服务根据目标调用地址调用第二微服务。
由上述技术方案可知,第一微服务通过注册中心订阅第二微服务,第二微服务在启动后,会将第二微服务对应的调用地址发送至注册中心。响应于第一微服务启动,第一微服务从注册中心获取第一微服务订阅的注册服务集合,该注册服务集合包括第一微服务订阅的至少一个微服务对应的调用地址,如第二微服务对应的目标调用地址。第一微服务接收调用第二微服务的调用指令后,根据该调用指令从注册服务集合中获取目标调用地址,从而第一微服务根据目标调用地址调用第二微服务。由此,在各个微服务启动后,各个微服务会将各自的调用地址发送给注册中心,注册中心保存各个微服务对应的最新的调用地址,即使第二微服务对应的目标调用地址发生变化,无需调整DNS解析地址,注册中心也会保存有最新的目标调用地址,从而当第一微服务接收调用第二微服务的调用指令后,可以根据第一微服务从注册中心获取的注册服务集合中确定第二微服务对应的目标调用地址,实现对第二微服务的调用。
如图2所示,第一微服务是服务消费方,第二微服务是服务提供方,第二微服务启动后,注册到注册中心,即将目标调用地址发送给注册中心,由于第一微服务订阅了第二微服务,故注册中心会将包括目标调用地址的注册服务集合发送给第一微服务,以便第一微服务根据目标调用地址直接调用第二微服务。
作为一种可能的实现方式,注册中心通过心跳检测可以实时检测或每隔固定时间检测目标调用地址是否发生变化,若注册中心检测到目标地址发生变化,可以将更新后的目标调用地址发送给第一微服务,使得第一微服务存储的调用地址均是最新的调用地址,从而避免发生由于其他微服务的调用地址发生变化,导致第一微服务无法调用其他微服务的问题。
作为一种可能的实现方式,在微服务系统中,微服务与注册中心处于同一个局域网,通过注册中心统一管理微服务,使得微服务可以自主注册或订阅,避免了微服务间互相调用时调用地址变化引起的服务丢失问题。由于内部调用得以实现,故减少了外部网络调用得开销、链路长度与调用时间,以及外部调用通过网关时的重复鉴权。第一微服务根据目标调用地址调用第二微服务,无需通过网关,减少了互联网调用的开销以及重复的鉴权。
相关技术中,微服务系统会从各个微服务中提取鉴权的功能,作为基础包被各个微服务引用,但是在基础包出现更改升级的情况下,需要各个微服务重新获取更新后的基础包,由于没有动态监测机制,为了要所有微服务均能够使用更新后的基础包,不可避免的需要重启服务,导致服务短时间内无法使用。
基于此,本申请实施例提供的微服务系统还包括网关服务,用于实现多种微服务的统一鉴权。例如,前述所述用于调用第一微服务的综合指令,需要通过网关服务的鉴权,网关服务才会发送该综合指令给第一微服务。通过在微服务上层增加网关服务,实现统一鉴权、用户信息获取、菜单目录权限校验,将基础能力和业务服务能力进行剥离,使得微服务职能得到细化及明确。同时也避免各个微服务对基础能力的重复开发。
作为一种可能的实现方式,若调用第一微服务的综合指令没有通过网关服务的鉴权,则网关服务向用户返回操作不合法的提示,并不再向第一微服务发送调用第一微服务的综合指令。
作为一种可能的实现方式,不同的微服务对应的鉴权流程可能不同,例如,调用第一微服务的综合指令与调用第三微服务的综合指令对应不同的鉴权流程。由此,网关服务可以包括多种子路由,不同子路由对应的鉴权流程不同,以便实现对不同微服务的鉴权流程。下面通过综合指令调用第一微服务为例进行说明,具体参见S301-S303。
S301:网关服务接收综合指令。
在实际应用中,用户通过微服务系统下达的综合指令会显发送到网关服务,该综合指令携带第一微服务的标识,如第一微服务的名称。
S302:网关服务根据综合指令确定第一微服务对应的目标子路由。
网关服务中存储各个微服务的标识与对应子路由的映射关系,故根据综合指令中携带的第一微服务的标识,以及第一微服务的标识与目标子路由的映射关系,可以确定第一微服务对应的目标子路由。
S303:网关服务将综合指令发送至目标子路由执行对应的鉴权流程。
网关服务将综合指令发送给目标子路由执行对应的鉴权流程,例如,令牌(token)校验、用户信息获取、菜单目录权限校验等。
由此,将鉴权流程移交给网关服务处理,实现了对业务和基础组件进行了剥离,使得服务职能得到明确及细化,不同微服务可以只关注业务,微服务间实现高内聚低耦合。
为了使本申请实施例提供的技术方案更加清楚,下面结合图3和图4以一个实例对本申请实施例提供的微服务间的调用方法进行说明。
参见图3,该图为本申请实施例提供的一种用户使用微服务系统的示意图。微服务系统包括网关服务311、n个微服务312和注册中心313,微服务312和注册中心313处于同一个局域网中。
n个微服务312会在启动后,注册到注册中心313中,即将各自的调用地址发送给注册中心313。其中,资源位申请服务(第一微服务)会从注册中心313订阅邮件服务(第二微服务)。
在实际应用中,若用户A想向用户B申请在应用程序的页面发布广告的请求,则用户A可以通过客户端320登陆后台管理系统330,在本实施例中,后台管理系统330为办公自动化(Office Automation,OA)系统。
后台管理系统330将调用资源位申请服务的综合指令发送网关服务311,网关服务通过自定义过滤器工厂对该综合指令进行鉴权,若该综合指令未通过鉴权,网关服务311向用户返回操作不合法的提示。
若该综合指令通过鉴权,则网关服务311将该综合指令发送给资源位申请服务312,进行业务处理,资源位申请服务在将本次请求事件的节点从用户A流转到用户B后,资源位申请服务会根据从综合指令解析出的调用邮件服务的调用指令,从注册中心获取的注册服务集合中确定出邮件调用服务对应的目标调用地址,从而资源位申请服务根据目标调用地址调用邮件服务,实现给用户A和用户B发送邮件。
参见图4,该图为本申请实施例提供的一种网关服务通过自定义过滤器工厂对综合指令进行鉴权的示意图。网关服务311包括网关客户端410、子路由420、调用路径模块430、自定义过滤器工厂440和代理微服务450。
网关客户端410接收综合指令,子路由420根据综合指令确定第一微服务对应的目标子路由对应的路径,通过调用路径模块430将请求发送到资源位申请服务对应的自定义过滤器工厂440,该自定义过滤器工厂440包括令牌过滤器、用户信息过滤器、菜单权限过滤器等一种或多种组合,通过自定义过滤器工厂440对综合指令进行鉴权,若该综合指令未通过鉴权,代理微服务450向用户返回操作不合法的提示;若该综合指令通过鉴权,则代理微服务450将该综合指令发送给资源位申请服务312,进行业务处理,后续流程可参照上述,在此不再赘述。
本申请实施例除了提供的微服务间的调用方法外,还提供了微服务间的调用装置,如图5所示,包括:获取单元501、接收单元502、确定单元503和调用单元504;
所述获取单元501,用于响应于第一微服务启动,所述第一微服务从注册中心获取注册服务集合;其中,所述注册服务集合包括所述第一微服务订阅的至少一个微服务对应的调用地址;
所述接收单元502,用于所述第一微服务接收调用第二微服务的调用指令;其中,所述第二微服务为所述第一微服务订阅的微服务,在启动后将所述第二微服务对应的目标调用地址发送至所述注册中心;
所述确定单元503,用于所述第一微服务根据所述调用指令,从所述注册服务集合中确定所述目标调用地址;
所述调用单元504,用于所述第一微服务根据所述目标调用地址调用所述第二微服务。
作为一种可能的实现方式,所述接收单元502,用于:
若所述注册中心检测到所述目标调用地址发生变化,所述第一微服务接收所述注册中心发送更新后的目标调用地址。
作为一种可能的实现方式,所述接收单元502,用于:
所述第一微服务接收调用所述第一微服务的综合指令;
所述第一微服务从所述综合指令中解析出调用第二微服务的调用指令。
作为一种可能的实现方式,所述接收单元502,用于:
响应于所述综合指令通过网关服务的鉴权,所述第一微服务接收所述综合指令。
作为一种可能的实现方式,所述装置还包括返回单元,用于:
响应于所述综合指令未通过所述网关服务的鉴权,所述网关服务向用户返回操作不合法的提示,并不再向所述第一微服务发送调用所述第一微服务的综合指令。
作为一种可能的实现方式,所述装置包括的网关服务包括多种子路由,不同子路由对应不同的鉴权流程。
作为一种可能的实现方式,所述装置还包括鉴权单元,用于:
所述网关服务接收所述综合指令,所述综合指令携带所述第一微服务的标识;
所述网关服务根据所述综合指令确定所述第一微服务对应的目标子路由;
所述网关服务将所述综合指令发送至所述目标子路由执行对应的鉴权流程。
本申请实施例提供一种微服务间的调用装置,第一微服务通过注册中心订阅第二微服务,第二微服务在启动后,会将第二微服务对应的调用地址发送至注册中心。响应于第一微服务启动,第一微服务从注册中心获取第一微服务订阅的注册服务集合,该注册服务集合包括第一微服务订阅的至少一个微服务对应的调用地址,如第二微服务对应的目标调用地址。第一微服务接收调用第二微服务的调用指令后,根据该调用指令从注册服务集合中获取目标调用地址,从而第一微服务根据目标调用地址调用第二微服务。由此,在各个微服务启动后,各个微服务会将各自的调用地址发送至注册中心,注册中心保存各个微服务对应的最新的调用地址,即使第二微服务对应的目标调用地址发生变化,无需调整DNS解析地址,注册中心也会保存有最新的目标调用地址,从而当第一微服务接收调用第二微服务的调用指令后,可以根据第一微服务从注册中心获取的注册服务集合中确定第二微服务对应的目标调用地址,实现对第二微服务的调用。
本申请实施例还提供了一种计算机设备,参见图6,该图示出了本申请实施例提供的一种计算机设备的结构图,如图6所示,所述设备包括处理器310以及存储器620:
所述存储器610用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器620用于根据所述程序代码中的指令执行上述实施例提供的任一种微服务间的调用方法。
本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序于执行上述实施例提供的任一种微服务间的调用方法。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的微服务间的调用方法。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种微服务间的调用方法,其特征在于,所述方法包括:响应于第一微服务启动,所述第一微服务从注册中心获取注册服务集合;其中,所述注册服务集合包括所述第一微服务订阅的至少一个微服务对应的调用地址;
所述第一微服务接收调用第二微服务的调用指令;其中,所述第二微服务为所述第一微服务订阅的微服务,在启动后将所述第二微服务对应的目标调用地址发送至所述注册中心;
所述第一微服务根据所述调用指令,从所述注册服务集合中确定所述目标调用地址;
所述第一微服务根据所述目标调用地址调用所述第二微服务。
2.根据权利要求1所述的微服务间的调用方法,其特征在于,所述方法还包括:
若所述注册中心检测到所述目标调用地址发生变化,所述第一微服务接收所述注册中心发送更新后的目标调用地址。
3.根据权利要求1所述的微服务间的调用方法,其特征在于,所述第一微服务接收调用第二微服务的调用指令,包括:
所述第一微服务接收调用所述第一微服务的综合指令;
所述第一微服务从所述综合指令中解析出调用第二微服务的调用指令。
4.根据权利要求3所述的微服务间的调用方法,其特征在于,所述第一微服务接收调用所述第一微服务的综合指令,包括:
响应于所述综合指令通过网关服务的鉴权,所述第一微服务接收所述综合指令。
5.根据权利要求3所述的微服务间的调用方法,其特征在于,所述方法还包括:
响应于所述综合指令未通过所述网关服务的鉴权,所述网关服务向用户返回操作不合法的提示,并不再向所述第一微服务发送调用所述第一微服务的综合指令。
6.根据权利要求4或5所述的微服务间的调用方法,其特征在于,所述方法还包括:
所述网关服务接收所述综合指令,所述综合指令携带所述第一微服务的标识;
所述网关服务根据所述综合指令确定所述第一微服务对应的目标子路由;
所述网关服务将所述综合指令发送至所述目标子路由执行对应的鉴权流程。
7.一种微服务间的调用装置,其特征在于,所述装置包括:获取单元、接收单元、确定单元和调用单元;
所述获取单元,用于响应于第一微服务启动,所述第一微服务从注册中心获取注册服务集合;其中,所述注册服务集合包括所述第一微服务订阅的至少一个微服务对应的调用地址;
所述接收单元,用于所述第一微服务接收调用第二微服务的调用指令;其中,所述第二微服务为所述第一微服务订阅的微服务,在启动后将所述第二微服务对应的目标调用地址发送至所述注册中心;
所述确定单元,用于所述第一微服务根据所述调用指令,从所述注册服务集合中确定所述目标调用地址;
所述调用单元,用于所述第一微服务根据所述目标调用地址调用所述第二微服务。
8.根据权利要求7所述的微服务间的调用装置,其特征在于,所述装置还包括接收单元,用于:
若所述注册中心检测到所述目标调用地址发生变化,所述第一微服务接收所述注册中心发送更新后的目标调用地址。
9.一种计算机设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-6任意一项所述的微服务间的调用方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1-6任意一项所述的微服务间的调用方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210043716.4A CN114553967A (zh) | 2022-01-14 | 2022-01-14 | 一种微服务间的调用方法和相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210043716.4A CN114553967A (zh) | 2022-01-14 | 2022-01-14 | 一种微服务间的调用方法和相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114553967A true CN114553967A (zh) | 2022-05-27 |
Family
ID=81672098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210043716.4A Pending CN114553967A (zh) | 2022-01-14 | 2022-01-14 | 一种微服务间的调用方法和相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114553967A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116346472A (zh) * | 2023-03-29 | 2023-06-27 | 贝壳找房(北京)科技有限公司 | 调用链路的还原方法、设备、存储介质及计算机程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105515759A (zh) * | 2015-11-27 | 2016-04-20 | 国网信息通信产业集团有限公司 | 一种微服务注册方法及系统 |
CN108234666A (zh) * | 2018-01-16 | 2018-06-29 | 云宏信息科技股份有限公司 | 一种微服务调用系统、方法及计算机存储介质 |
CN108833270A (zh) * | 2018-09-10 | 2018-11-16 | 珠海格力电器股份有限公司 | 网关通信方法、网关和能源系统 |
CN108901022A (zh) * | 2018-06-28 | 2018-11-27 | 深圳云之家网络有限公司 | 一种微服务统一鉴权方法及网关 |
CN112968943A (zh) * | 2021-02-01 | 2021-06-15 | 国网安徽省电力有限公司 | 一种电力协同平台 |
-
2022
- 2022-01-14 CN CN202210043716.4A patent/CN114553967A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105515759A (zh) * | 2015-11-27 | 2016-04-20 | 国网信息通信产业集团有限公司 | 一种微服务注册方法及系统 |
CN108234666A (zh) * | 2018-01-16 | 2018-06-29 | 云宏信息科技股份有限公司 | 一种微服务调用系统、方法及计算机存储介质 |
CN108901022A (zh) * | 2018-06-28 | 2018-11-27 | 深圳云之家网络有限公司 | 一种微服务统一鉴权方法及网关 |
CN108833270A (zh) * | 2018-09-10 | 2018-11-16 | 珠海格力电器股份有限公司 | 网关通信方法、网关和能源系统 |
CN112968943A (zh) * | 2021-02-01 | 2021-06-15 | 国网安徽省电力有限公司 | 一种电力协同平台 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116346472A (zh) * | 2023-03-29 | 2023-06-27 | 贝壳找房(北京)科技有限公司 | 调用链路的还原方法、设备、存储介质及计算机程序产品 |
CN116346472B (zh) * | 2023-03-29 | 2023-12-12 | 贝壳找房(北京)科技有限公司 | 调用链路的还原方法、设备、存储介质及计算机程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109561141B (zh) | 一种cdn节点的选择方法及设备 | |
CN107948135B (zh) | 一种支持多种api协议的数据处理方法及装置 | |
US7530099B2 (en) | Method and system for a single-sign-on mechanism within application service provider (ASP) aggregation | |
CN109688280B (zh) | 请求处理方法、请求处理设备、浏览器及存储介质 | |
CN109831511A (zh) | 调度内容分发网络cdn边缘节点的方法及设备 | |
EP2352083B1 (en) | Method, device and system for enhancing script-based application reliability | |
CN113381979B (zh) | 一种访问请求代理方法及代理服务器 | |
US20070165615A1 (en) | Apparatus and method for notifying communication network event in application server capable of supporting open API based on Web services | |
JP2005505839A (ja) | ウェブ・サイト上におけるカスタマイズされたデータの出力方法 | |
CN112217856A (zh) | 应用实例的地址获取方法、装置、设备及存储介质 | |
CN112311786A (zh) | 一种服务请求处理方法、装置、存储介质及计算设备 | |
CN114553967A (zh) | 一种微服务间的调用方法和相关装置 | |
CN114221959A (zh) | 服务共享方法、装置和系统 | |
JP4265326B2 (ja) | サービス処理方法及びシステム並びにその処理プログラム | |
JP6540063B2 (ja) | 通信情報制御装置、中継システム、通信情報制御方法、および、通信情報制御プログラム | |
US8010642B2 (en) | Apparatus for mediating in management orders | |
KR20100051645A (ko) | VoIP 네트워크 시스템에서 SIP 단말기에 의해 정보를 공개, 질의 및 구독하는 방법, SIP 단말기, SIP 애플리케이션 서버, SIP 정보 센터 및 VoIP 네트워크 시스템 | |
CN115396398A (zh) | 衍生域名访问方法、系统、设备、存储介质及程序产品 | |
EP1985085B1 (en) | Network entity | |
KR20060021322A (ko) | 이기종 단말기 세트를 포함하는 네트워크에 대한 컨텍스트 관리 시스템 | |
KR100798916B1 (ko) | 웹 서비스 기반 개방형 api를 지원하는 애플리케이션서버에서 통신망 이벤트 통보 장치 및 그 방법 | |
CN114257441A (zh) | 一种基于云文档组件的数据处理方法及装置 | |
CN112231566A (zh) | 信息推送方法、装置、系统和可读存储介质 | |
CN113065120A (zh) | 接口调用鉴权方法、装置、电子设备及可读存储介质 | |
JP2003032281A (ja) | アクセス誘導装置及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |