微服务调用方法以及相关设备技术

技术编号:39677749 阅读:5 留言:0更新日期:2023-12-11 18:55
本申请实施例公开了微服务调用方法以及相关设备,用于提升微服务调用效率

【技术实现步骤摘要】
微服务调用方法以及相关设备


[0001]本申请实施例涉及计算机领域,尤其涉及微服务调用方法以及相关设备


技术介绍

[0002]现有微服务架构都是按业务线的边界进行粗力度拆分,如果研发一个新的软件产品,为了降低研发成本提高研发效率,会将所有业务模块的代码都会放到一个集中的节点中运行

并且为了
[0003]所有业务模块的代码都会放到一个服务中运行,将无法做到按业务执行的高峰时段按需进行硬件资源的动态分配和隔离,在核心模块代码执行的高峰时段,如果所有模块之间相互之间抢占硬件资源,就有可能导致核心服务受到的影响

不利于软件维护后期的系统架构升级

技术实现思路

[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]所述获取单元,具体用于获取当前节点所有存量服务的实体类名;
[0047]所述确定单元,还用于将对应的实体类名包含远程调用标记的存量服务,确定为远程调用服务;
[0048]所述新增单元,用于基于所述远程调用服务的实体类名,在所述远程调用配置信息中新增每个所述远程调用服务的配置信息

[0049]在一种具体实现方式中,所述调用单元,具体用于若所述当前调用方式为远程调用,则生成针对所述其他节点中所述目标服务的网络调用请求,所述网络调用请求包括请求信息;
[0050]对所述请求信息执行序列化操作,获得序列化请求信息;
[0051]向所述其他节点中所述目标服务发送所述序列化请求信息;
[0052]对序列化答复信息执行反序列化操作,获得答复信息,所述答复信息与所述请求信息对应,所述答复信息由所述其他节点中所述目标服务确定,所述序列化答复信息由所述其他节点中所述目标服务,对所述答复信息执行序列化操作得到

[0053]在一种具体实现方式中,所述调用单元,具体用于若所述当前调用方本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种微服务调用方法,其特征在于,应用于当前节点,所述方法包括:在所述当前节点部署软件代码,所述软件代码用于提供目标服务;接收终端发送的服务调用请求,所述服务调用请求用于调用目标服务;确定所述当前节点中所述目标服务的节点调用方式;若所述当前调用方式为远程调用,则调用部署于其他节点的目标服务,所述其他节点部署有所述软件代码;若所述当前调用方式为本地调用,则调用部署于所述当前节点的目标服务
。2.
根据权利要求1所述的方法,其特征在于,所述确定所述当前节点中所述目标服务的节点调用方式,包括:获取所述当前节点依赖的服务实体类名;判断所述目标服务的实体类名是否符合所述当前节点中预设的远程调用配置信息;若所述目标服务的实体类名符合所述远程调用配置信息,则确定所述当前调用方式为远程调用
。3.
根据权利要求2所述的方法,其特征在于,所述方法还包括:若所述目标服务的实体类名不符合所述远程调用配置信息,则判断所述当前节点是否部署有所述目标服务;若所述当前节点部署有所述目标服务,则确定所述当前调用方式为本地调用
。4.
根据权利要求2所述的方法,其特征在于,在所述判断所述目标服务的实体类名是否符合所述当前节点中预设的远程调用配置信息之前,所述方法还包括:获取当前节点所有存量服务的实体类名;将对应的实体类名包含远程调用标记的存量服务,确定为远程调用服务;基于所述远程调用服务的实体类名,在所述远程调用配置信息中新增每个所述远程调用服务的配置信息
。5.
根据权利要求1所述的方法,其特征在于,所述若所述当前调用方式为远程调用,则调用部署于其他节点的目标服务,包括:若所述当前调用方式为远程调用,则生成针对所述其他节点中所述目标服务的网络调用请求,所述网络调用请求包括请求信息;对所述请求信息执行序列化操作,获得序列化请求信息;向所述其他节点中所述目标服务发送所述序列化请求信息;对序列化答复信息执...

【专利技术属性】
技术研发人员:邢亚凯
申请(专利权)人:云之家网络重庆有限公司
类型:发明
国别省市:

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

1