一种dubbo服务动态调用方法、计算机设备和存储介质技术

技术编号:28987357 阅读:26 留言:0更新日期:2021-06-23 09:38
本发明专利技术涉及一种dubbo服务动态调用方法、计算机设备和存储介质,方法包括步骤:1)加载spring cloud gateway自定义网关拦截器拦截请求;2)对网关请求获取请求地址对应的dubbo调用参数;3)组装步骤2)获取的dubbo调用参数,调用远程dubbo服务;4)获取远程dubbo服务调用结果,将远程dubbo服务调用结果进行格式转换后返回至调用方。与现有技术相比,本发明专利技术拓展了spring cloudgateway拦截器,能够实现对dubbo服务的直接转发。

【技术实现步骤摘要】
一种dubbo服务动态调用方法、计算机设备和存储介质
本专利技术涉及互联网
,尤其是涉及一种dubbo服务动态调用方法、计算机设备和存储介质。
技术介绍
随着互联网行业的安全性及实时性要求的不断提升,也对技术提出了更高的要求。springcloudgateway是spring开源的基于netty的高性能网关框架,提供功能强大的网关路由管理功能。springcloudgateway的目标,不仅提供统一的路由方式,并且基于Filter链的方式提供了网关基本的功能,例如:安全,监控/指标和限流。而随着互联网数据容量、流量的不断增加,常规的垂直应用架构已无法应对,于是架构迎来了演变,Dubb技术即是其中之一的演变架构技术。Dubbo技术是阿里巴巴公司开源的一个高性能优秀的服务框架,该框架能够使得应用可通过高性能的远程过程调用(RPC)实现服务的输出和输入功能。它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。然而因Springcloudgateway只支持http协议转发,这使得网关无法直接转发dubbo服务接口,限制了网关的使用场景。
技术实现思路
本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种dubbo服务动态调用方法、计算机设备和存储介质。本专利技术的目的可以通过以下技术方案来实现:一种dubbo服务动态调用方法,该方法基于spring框架实现,具体包括如下步骤:S1:加载springcloudgateway自定义网关拦截器拦截请求;S2:对网关请求获取请求地址对应的dubbo调用参数;具体地:21)数据库读取网关请求对应路由目标协议地址,并判断该路由目标协议地址是否为dubbo协议地址,若是,则进行下一步,若否,则执行除springcloudgateway自定义网关拦截器外的网关其他拦截器;22)解析标准的dubbo协议地址,根据该地址获取服务提供方的ip、端口、方法和版本信息。S3:组装步骤S2获取的dubbo调用参数,调用远程dubbo服务;进一步地,采用GenericService调用远程dubbo服务。S4:获取远程dubbo服务调用结果,将远程dubbo服务调用结果进行格式转换后返回至调用方。进一步地,将远程dubbo服务调用结果转换为json格式字符串返回至调用方。一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述dubbo服务动态调用方法的步骤。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述dubbo服务动态调用方法的步骤。与现有技术相比,本专利技术拓展了springcloudgateway拦截器,能够实现对dubbo服务的直接转发,有利于扩大网关的使用场景。附图说明图1为实施例中dubbo服务动态调用方法的流程示意图。具体实施方式下面结合附图和具体实施例对本专利技术进行详细说明。显然,所描述的实施例是本专利技术的一部分实施例,而不是全部实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本专利技术保护的范围。实施例如图1所示,本专利技术涉及一种dubbo服务动态调用方法,该方法基于spring框架实现,该方法包括如下步骤:步骤一、加载springcloudgateway自定义网关拦截器拦截请求。步骤二、数据库获取网关请求地址对应的dubbo调用参数。具体步骤为:2.1)数据库读取路由目标dubbo协议地址,并判断路由目标地址是否是以dubbo://开头的,若是,则进行下一步,否则,执行网关其他拦截器。2.2)解析标准的dubbo协议地址,根据该地址获取服务提供方的ip、端口、方法、版本等信息。步骤三、组装步骤2.2)获取到的dubbo调用参数,使用dubbo官方提供的GenericService调用远程dubbo服务。步骤四、获取GenericService调用结果,转换为json格式字符串返回给调用方。在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种dubbo服务动态调用方法。在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种dubbo服务动态调用方法的步骤。以上所述,仅为本专利技术的具体实施方式,但本专利技术的保护范围并不局限于此,任何熟悉本
的工作人员在本专利技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本专利技术的保护范围之内。因此,本专利技术的保护范围应以权利要求的保护范围为准。本文档来自技高网
...

【技术保护点】
1.一种dubbo服务动态调用方法,其特征在于,该方法基于spring框架实现,包括下列步骤:/n1)加载spring cloud gateway自定义网关拦截器拦截请求;/n2)对网关请求获取请求地址对应的dubbo调用参数;/n3)组装步骤2)获取的dubbo调用参数,调用远程dubbo服务;/n4)获取远程dubbo服务调用结果,将远程dubbo服务调用结果进行格式转换后返回至调用方。/n

【技术特征摘要】
1.一种dubbo服务动态调用方法,其特征在于,该方法基于spring框架实现,包括下列步骤:
1)加载springcloudgateway自定义网关拦截器拦截请求;
2)对网关请求获取请求地址对应的dubbo调用参数;
3)组装步骤2)获取的dubbo调用参数,调用远程dubbo服务;
4)获取远程dubbo服务调用结果,将远程dubbo服务调用结果进行格式转换后返回至调用方。


2.根据权利要求1所述的dubbo服务动态调用方法,其特征在于,步骤2)具体包括下列步骤:
21)数据库读取网关请求对应路由目标协议地址,并判断该路由目标协议地址是否为dubbo协议地址,若是,则进行下一步,若否,则执行除springcloudgateway自定义网关拦截器外的网关其他拦截器;
22)解析标准的dubbo协议地址...

【专利技术属性】
技术研发人员:吕峰辉高晓国杜余波刘晶
申请(专利权)人:欧冶云商股份有限公司
类型:发明
国别省市:上海;31

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

1