服务调用方法及装置、电子设备制造方法及图纸

技术编号:35078478 阅读:16 留言:0更新日期:2022-09-28 11:45
本发明专利技术公开了一种服务调用方法及装置、电子设备,涉及云计算领域,应用于微服务远程过程调用系统,微服务远程过程调用系统至少包括:服务消费端,该服务调用方法包括:响应服务消费端发起的服务调用请求,获取服务消费端的调用装置中涉及目标服务的服务信息数据,其中,调用装置用于缓存服务消费端待使用的服务信息数据集合;基于服务信息数据,调用目标服务。本发明专利技术解决了相关技术中服务消费端通过缓存服务注册中心的全部服务信息数据,物理资源开销大的技术问题。开销大的技术问题。开销大的技术问题。

【技术实现步骤摘要】
服务调用方法及装置、电子设备


[0001]本专利技术涉及云计算
,具体而言,涉及一种服务调用方法及装置、电子设备。

技术介绍

[0002]目前,在SpringCloud(一系列框架的有序集合)架构下,服务消费端本地往往都缓存了Eureka服务注册中心上的全量服务信息数据,在大规模分布式集群场景下,这种方式对内存等物理资源开销提出了很大挑战,同时还会带来网络带宽占用增大,服务处理效率降低等问题。
[0003]当前有一种改进思路,通过在Eureka Client(即服务消费端)的配置文件中定义它所依赖的服务名列表,当Eureka Client发送请求Eureka Server(即Eureka服务注册中心)获取服务地址时,配置文件中声明的依赖服务名列表会作为参数传递给Eureka Server,Eureka Server根据传入的列表参数做匹配,最后只返回Eureka Client所依赖的服务地址。
[0004]然而在大规模分布式集群场景下,服务间的调用关系错综复杂,额外再维护一份配置就显的费时费力,而且容易出现差错。如果配置的服务名列表中有部分服务实际未调用到,那么就会存在属于冗余问题,配置得不够精确,但是如果配置文件中的服务名列表中缺少实际会调用到的服务名,那就会直接造成服务无法调用等严重后果。
[0005]针对上述的问题,目前尚未提出有效的解决方案。

技术实现思路

[0006]本专利技术实施例提供了一种服务调用方法及装置、电子设备,以至少解决相关技术中服务消费端通过缓存服务注册中心的全部服务信息数据,物理资源开销大的技术问题。
[0007]根据本专利技术实施例的一个方面,提供了一种服务调用方法,应用于微服务远程过程调用系统,所述微服务远程过程调用系统至少包括:服务消费端,包括:响应服务消费端发起的服务调用请求,获取所述服务消费端的调用装置中涉及目标服务的服务信息数据,其中,所述调用装置用于缓存所述服务消费端待使用的服务信息数据集合;基于所述服务信息数据,调用所述目标服务。
[0008]可选地,响应服务消费端发起的服务调用请求,获取所述服务消费端的调用装置中涉及目标服务的服务信息数据的步骤,包括:在接收到所述服务调用请求之后,判断所述调用装置是否包含所述服务信息数据;在所述调用装置包含所述服务信息数据的情况下,基于所述服务调用请求的请求信息,获取所述服务消费端的调用装置中涉及目标服务的服务信息数据;在所述调用装置未包含所述服务信息数据的情况下,基于所述服务调用请求的请求信息,向所述微服务远程过程调用系统的服务注册中心请求所述服务信息数据,将请求得到的所述服务信息数据缓存至所述调用装置,并基于所述调用请求的请求信息,获取所述服务信息数据。
[0009]可选地,在所述调用装置包含所述服务信息数据的情况下,基于所述服务调用请求的请求信息,获取所述服务消费端的调用装置中涉及目标服务的服务信息数据的步骤,还包括:通过第一数据更新机制或第二数据更新机制,对所述调用装置中缓存的所述服务信息数据进行更新。
[0010]可选地,通过第一数据更新机制,对所述调用装置中缓存的所述服务信息数据进行更新的步骤,包括:判断所述服务信息数据的当前调用时间与前一次调用时间的时间间隔是否超过预设时长阈值;在所述时间间隔超过所述预设时长阈值的情况下,对所述调用装置中缓存的所述服务信息数据进行更新。
[0011]可选地,通过第二数据更新机制,对所述调用装置中缓存的所述服务信息数据进行更新的步骤,还包括:通过预先配置的定时调度任务,对所述调用装置中缓存的所述服务信息数据进行更新,其中,所述定时调度任务的任务数据顺序是异步执行。
[0012]可选地,所述微服务远程过程调用系统还包括:服务提供端,所述服务信息数据至少包括:所述目标服务的服务提供端标识、所述目标服务的服务提供端信息列表,其中,所述信息列表至少包括:所述目标服务的服务提供端IP地址、所述目标服务的服务提供端端口标识。
[0013]可选地,基于所述服务信息数据,调用所述目标服务的步骤,包括:基于所述服务信息数据中的所述服务提供端IP地址和所述服务提供端端口标识,调用所述目标服务。
[0014]可选地,所述服务信息数据在所述调用装置中以键值对的形式存储,其中,所述键值对中的关键字为所述服务提供端标识,所述键值对中的属性值为所述服务提供端信息列表。
[0015]根据本专利技术实施例的另一方面,还提供了一种服务调用装置,应用于微服务远程过程调用系统,所述微服务远程过程调用系统至少包括:服务消费端,包括:获取单元,用于响应服务消费端发起的服务调用请求,获取所述服务消费端的调用装置中涉及目标服务的服务信息数据,其中,所述调用装置用于缓存所述服务消费端待使用的服务信息数据集合;调用单元,用于基于所述服务信息数据,调用所述目标服务。
[0016]可选地,获取单元包括:判断子单元,用于在接收到所述服务调用请求之后,判断所述调用装置是否包含所述服务信息数据;第一获取子单元,用于在所述调用装置包含所述服务信息数据的情况下,基于所述服务调用请求的请求信息,获取所述服务消费端的调用装置中涉及目标服务的服务信息数据;第二获取子单元,用于在所述调用装置未包含所述服务信息数据的情况下,基于所述服务调用请求的请求信息,向所述微服务远程过程调用系统的服务注册中心请求所述服务信息数据,将请求得到的所述服务信息数据缓存至所述调用装置,并基于所述调用请求的请求信息,获取所述服务信息数据。
[0017]可选地,判断子单元还包括:更新模块,用于通过第一数据更新机制或第二数据更新机制,对所述调用装置中缓存的所述服务信息数据进行更新。
[0018]可选地,更新模块包括:判断子模块,用于判断所述服务信息数据的当前调用时间与前一次调用时间的时间间隔是否超过预设时长阈值;第一更新子模块,用于在所述时间间隔超过所述预设时长阈值的情况下,对所述调用装置中缓存的所述服务信息数据进行更新。
[0019]可选地,更新模块还包括:第二更新子模块,用于通过预先配置的定时调度任务,
对所述调用装置中缓存的所述服务信息数据进行更新,其中,所述定时调度任务的任务数据顺序是异步执行。
[0020]可选地,所述微服务远程过程调用系统还包括:服务提供端,所述服务信息数据至少包括:所述目标服务的服务提供端标识、所述目标服务的服务提供端信息列表,其中,所述信息列表至少包括:所述目标服务的服务提供端IP地址、所述目标服务的服务提供端端口标识。
[0021]可选地,调用单元包括:基于所述服务信息数据中的所述服务提供端IP地址和所述服务提供端端口标识,调用所述目标服务。
[0022]可选地,所述服务信息数据在所述调用装置中以键值对的形式存储,其中,所述键值对中的关键字为所述服务提供端标识,所述键值对中的属性值为所述服务提供端信息列表。
[0023]在本专利技术中,响应服务消费端发起的服务调用请求,获取服务消费端的调用装置中涉及目标服务的服务信息数据,其中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种服务调用方法,其特征在于,应用于微服务远程过程调用系统,所述微服务远程过程调用系统至少包括:服务消费端,包括:响应所述服务消费端发起的服务调用请求,获取所述服务消费端的调用装置中涉及目标服务的服务信息数据,其中,所述调用装置用于缓存所述服务消费端待使用的服务信息数据集合;基于所述服务信息数据,调用所述目标服务。2.根据权利要求1所述的服务调用方法,其特征在于,响应所述服务消费端发起的服务调用请求,获取所述服务消费端的调用装置中涉及目标服务的服务信息数据的步骤,包括:在接收到所述服务调用请求之后,判断所述调用装置是否包含所述服务信息数据;在所述调用装置包含所述服务信息数据的情况下,基于所述服务调用请求的请求信息,获取所述服务消费端的调用装置中涉及所述目标服务的服务信息数据;在所述调用装置未包含所述服务信息数据的情况下,基于所述服务调用请求的请求信息,向所述微服务远程过程调用系统的服务注册中心请求所述服务信息数据,将请求得到的所述服务信息数据缓存至所述调用装置,并基于所述调用请求的请求信息,获取所述服务信息数据。3.根据权利要求2所述的服务调用方法,其特征在于,在所述调用装置包含所述服务信息数据的情况下,基于所述服务调用请求的请求信息,获取所述服务消费端的调用装置中涉及所述目标服务的服务信息数据的步骤,包括:通过第一数据更新机制或第二数据更新机制,对所述调用装置中缓存的所述服务信息数据进行更新。4.根据权利要求3所述的服务调用方法,其特征在于,通过第一数据更新机制,对所述调用装置中缓存的所述服务信息数据进行更新的步骤,包括:判断所述服务信息数据的当前调用时间与前一次调用时间的时间间隔是否超过预设时长阈值;在所述时间间隔超过所述预设时长阈值的情况下,对所述调用装置中缓存的所述服务信息数据进行更新。5.根...

【专利技术属性】
技术研发人员:凌晨顾欣王鹏培刘成锋
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1