分布式服务调用方法、装置、可读存储介质及终端设备制造方法及图纸

技术编号:36758379 阅读:15 留言:0更新日期:2023-03-04 10:51
本申请属于插件管理技术领域,尤其涉及一种分布式服务调用方法、装置、计算机可读存储介质及终端设备。所述方法包括:确定第一插件待调用的目标服务;其中,第一插件为分布式服务系统中的任意一个插件;获取与目标服务对应的服务地址列表;其中,服务地址列表中包括各个第二插件的服务地址,第二插件为在分布式服务系统中提供目标服务的插件;基于预设的负载均衡策略从服务地址列表中选取最优服务地址;其中,负载均衡策略为在进程内和进程外进行负载均衡的策略;若与最优服务地址对应的第二插件处于进程内,则使用内存对象调用的方式调用与最优服务地址对应的第二插件为第一插件提供目标服务,有效减少了协议开销,提高了服务调用效率。调用效率。调用效率。

【技术实现步骤摘要】
分布式服务调用方法、装置、可读存储介质及终端设备


[0001]本申请属于插件管理
,尤其涉及一种分布式服务调用方法、装置、计算机可读存储介质及终端设备。

技术介绍

[0002]在应用程序的开发过程中,为了便于进行功能拓展,可以采用支持插件式开发的应用框架,将特定的服务以插件的形式进行封装,在需要使用该服务时,仅需调用相应的插件即可。
[0003]在现有技术中,各个服务之间独立进程,插件之间往往使用远程过程调用(Remote Procedure Call,RPC)的方式进行服务调用,会产生较多的传输控制协议(Transmission Control Protocol,TCP)开销,导致服务调用的效率较低。

技术实现思路

[0004]有鉴于此,本申请实施例提供了一种分布式服务调用方法、装置、计算机可读存储介质及终端设备,以解决现有的服务调用方法效率较低的问题。
[0005]本申请实施例的第一方面提供了一种分布式服务调用方法,可以包括:
[0006]确定第一插件待调用的目标服务;其中,所述第一插件为预设的分布式服务系统中的任意一个插件;
[0007]获取与所述目标服务对应的服务地址列表;其中,所述服务地址列表中包括各个第二插件的服务地址,所述第二插件为在所述分布式服务系统中提供所述目标服务的插件;
[0008]基于预设的负载均衡策略从所述服务地址列表中选取最优服务地址;其中,所述负载均衡策略为在进程内和进程外进行负载均衡的策略;
[0009]若与所述最优服务地址对应的第二插件处于进程内,则使用内存对象调用的方式调用与所述最优服务地址对应的第二插件为所述第一插件提供所述目标服务。
[0010]在第一方面的一种具体实现方式中,所述根据预设的负载均衡策略从所述服务地址列表中选取最优服务地址,可以包括:
[0011]确定所述服务地址列表中的各个服务地址的服务权重;
[0012]基于所述负载均衡策略,根据所述服务权重从所述服务地址列表中选取所述最优服务地址。
[0013]在第一方面的一种具体实现方式中,所述确定所述服务地址列表中的各个服务地址的服务权重,可以包括:
[0014]确定所述服务地址列表中的各个服务地址的静态权重;
[0015]确定所述服务地址列表中的各个服务地址的动态权重;
[0016]根据所述静态权重和所述动态权重确定所述服务地址列表中的各个服务地址的服务权重。
[0017]在第一方面的一种具体实现方式中,所述确定所述服务地址列表中的各个服务地址的静态权重,可以包括:
[0018]获取所述服务地址列表中的各个服务地址对应的硬件资源数;
[0019]根据所述硬件资源数确定所述服务地址列表中的各个服务地址的静态权重;其中,所述静态权重与所述硬件资源数正相关。
[0020]在第一方面的一种具体实现方式中,所述确定所述服务地址列表中的各个服务地址的动态权重,可以包括:
[0021]获取所述服务地址列表中的各个服务地址对应的服务延迟时间和服务成功率;
[0022]根据所述服务延迟时间和所述服务成功率确定所述服务地址列表中的各个服务地址的动态权重;其中,所述动态权重与所述服务延迟时间负相关,所述动态权重与所述服务成功率正相关。
[0023]在第一方面的一种具体实现方式中,在基于预设的负载均衡策略从所述服务地址列表中选取最优服务地址之后,还可以包括:
[0024]获取所述最优服务地址对应的第一端口;
[0025]获取本机地址和所述本机地址对应的第二端口;
[0026]根据所述最优服务地址、所述本机地址、所述第一端口和所述第二端口判断与所述最优服务地址对应的第二插件是否处于进程内。
[0027]在第一方面的一种具体实现方式中,所述根据所述最优服务地址、所述本机地址、所述第一端口和所述第二端口判断与所述最优服务地址对应的第二插件是否处于进程内,包括:
[0028]若所述最优服务地址和所述本机地址一致,且所述第一端口和所述第二端口一致,则判定与所述最优服务地址对应的第二插件处于进程内;
[0029]若所述最优服务地址和所述本机地址不一致,或所述第一端口和所述第二端口不一致,则判定与所述最优服务地址对应的第二插件处于进程外。
[0030]本申请实施例的第二方面提供了一种分布式服务调用装置,可以包括:
[0031]目标服务确定模块,用于确定第一插件待调用的目标服务;其中,所述第一插件为预设的分布式服务系统中的任意一个插件;
[0032]服务地址列表获取模块,用于获取与所述目标服务对应的服务地址列表;其中,所述服务地址列表中包括各个第二插件的服务地址,所述第二插件为在所述分布式服务系统中提供所述目标服务的插件;
[0033]服务地址选取模块,用于基于预设的负载均衡策略从所述服务地址列表中选取最优服务地址;其中,所述负载均衡策略为在进程内和进程外进行负载均衡的策略;
[0034]进程内服务调用模块,用于若与所述最优服务地址对应的第二插件处于进程内,则使用内存对象调用的方式调用与所述最优服务地址对应的第二插件为所述第一插件提供所述目标服务。
[0035]在第二方面的一种具体实现方式中,所述服务地址选取模块可以包括:
[0036]服务权重确定子模块,用于确定所述服务地址列表中的各个服务地址的服务权重;
[0037]负载均衡子模块,用于基于所述负载均衡策略,根据所述服务权重从所述服务地
址列表中选取所述最优服务地址。
[0038]在第二方面的一种具体实现方式中,所述服务权重确定子模块可以包括:
[0039]静态权重确定单元,用于确定所述服务地址列表中的各个服务地址的静态权重;
[0040]动态权重确定单元,用于确定所述服务地址列表中的各个服务地址的动态权重;
[0041]服务权重确定单元,用于根据所述静态权重和所述动态权重确定所述服务地址列表中的各个服务地址的服务权重。
[0042]在第二方面的一种具体实现方式中,所述静态权重确定单元可以具体用于:获取所述服务地址列表中的各个服务地址对应的硬件资源数;根据所述硬件资源数确定所述服务地址列表中的各个服务地址的静态权重;其中,所述静态权重与所述硬件资源数正相关。
[0043]在第二方面的一种具体实现方式中,所述动态权重确定单元可以具体用于:获取所述服务地址列表中的各个服务地址对应的服务延迟时间和服务成功率;根据所述服务延迟时间和所述服务成功率确定所述服务地址列表中的各个服务地址的动态权重;其中,所述动态权重与所述服务延迟时间负相关,所述动态权重与所述服务成功率正相关。
[0044]在第二方面的一种具体实现方式中,所述分布式服务调用装置还可以包括:
[0045]信息获取模块,用于获取所述最优服务地址对应的第一端口;获取本机地址和所述本机地址对应的第二端口;
[0046]进程本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式服务调用方法,其特征在于,包括:确定第一插件待调用的目标服务;其中,所述第一插件为预设的分布式服务系统中的任意一个插件;获取与所述目标服务对应的服务地址列表;其中,所述服务地址列表中包括各个第二插件的服务地址,所述第二插件为在所述分布式服务系统中提供所述目标服务的插件;基于预设的负载均衡策略从所述服务地址列表中选取最优服务地址;其中,所述负载均衡策略为在进程内和进程外进行负载均衡的策略;若与所述最优服务地址对应的第二插件处于进程内,则使用内存对象调用的方式调用与所述最优服务地址对应的第二插件为所述第一插件提供所述目标服务。2.根据权利要求1所述的分布式服务调用方法,其特征在于,所述根据预设的负载均衡策略从所述服务地址列表中选取最优服务地址,包括:确定所述服务地址列表中的各个服务地址的服务权重;基于所述负载均衡策略,根据所述服务权重从所述服务地址列表中选取所述最优服务地址。3.根据权利要求2所述的分布式服务调用方法,其特征在于,所述确定所述服务地址列表中的各个服务地址的服务权重,包括:确定所述服务地址列表中的各个服务地址的静态权重;确定所述服务地址列表中的各个服务地址的动态权重;根据所述静态权重和所述动态权重确定所述服务地址列表中的各个服务地址的服务权重。4.根据权利要求3所述的分布式服务调用方法,其特征在于,所述确定所述服务地址列表中的各个服务地址的静态权重,包括:获取所述服务地址列表中的各个服务地址对应的硬件资源数;根据所述硬件资源数确定所述服务地址列表中的各个服务地址的静态权重;其中,所述静态权重与所述硬件资源数正相关。5.根据权利要求3所述的分布式服务调用方法,其特征在于,所述确定所述服务地址列表中的各个服务地址的动态权重,包括:获取所述服务地址列表中的各个服务地址对应的服务延迟时间和服务成功率;根据所述服务延迟时间和所述服务成功率确定所述服务地址列表中的各个服务地址的动态权重;其中,所述动态权重与所述服务延迟时间负相关,所述动态权重与所述服务成功率正相关。6.根据权利要求1至5中任一项所述的分布式...

【专利技术属性】
技术研发人员:何瑞龙卢茂祥
申请(专利权)人:普联技术有限公司
类型:发明
国别省市:

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

1