一种基于dubbo服务分组的路由的方法技术

技术编号:27615397 阅读:19 留言:0更新日期:2021-03-10 10:44
本发明专利技术提供了一种基于dubbo服务分组的路由的方法,包括以下步骤:步骤:S1、服务端发布服务,应用服务器发布自己的服务分组;S2、客户端订阅服务,客户端按服务名订阅服务端对应服务的所有分组的服务;S3、客户端通过路由模块获取要调用的服务组别,发起RPC调用;S4、完成调用,基于dubbo负载,客户端调用服务端。基于dubbo框架,通过路由从多个服务分组中判断出应该调用的服务分组后,使客户端准确的完成调用服务端,当需要变更配置时,只需变更对应服务分组的缓存数据即可,配置风险小。配置风险小。配置风险小。

【技术实现步骤摘要】
一种基于dubbo服务分组的路由的方法


[0001]本专利技术涉及计算机
,具体的,本专利技术涉及一种基于dubbo服务分组的路由的方法。

技术介绍

[0002]随着互联网的快速发展,网站的应用规模不断扩大,常规的垂直应用架构已无法满足大规模的服务需求,分布式服务架构的应用势在必行。dubbo是阿里巴巴公司开源的一个高性能的分布式服务框架,致力于提供高性能和透明化的远程服务调用方案。dubbo具有透明化的远程方法调用、服务自动注册与发现、软负载均衡及容错机制等功能,被国内互联网公司广泛使用。
[0003]现有路由规则基于管理平台配置,涉及多种交易时,同一个服务会被多个项目组的多种交易调用,当改动时,会影响到多种交易多个项目组,使多个项目组需要配合观察,配置变动风险大。

技术实现思路

[0004]为了克服现有技术的不足,本专利技术提供了一种基于dubbo服务分组的路由的方法,以解决上述的技术问题。
[0005]本专利技术解决其技术问题所采用的技术方法是:一种基于dubbo服务分组的路由的方法,其改进之处在于:包括以下步骤:S1、服务端发布服务,应用服务器发布自己的服务分组;S2、客户端订阅服务,客户端按服务名订阅服务端对应服务的所有分组的服务;S3、客户端通过路由模块获取要调用的服务组别,发起RPC调用;S4、完成调用,基于dubbo负载,客户端调用服务端。
[0006]在上述方法中,步骤S1,包括以下步骤:
[0007]S11、处于不同网络分区的应用服务器发布自己的服务分组,相同服务可以发布相同或不同的分组;
[0008]S12、按服务分组配置服务IP,一个服务分组对应至少2个服务IP;
[0009]S13、注册服务到zookeeper。
[0010]在上述方法中,步骤S2,包括以下步骤:
[0011]S21、网关层的不同客户端按服务名订阅服务端对应服务的所有组别的服务;
[0012]S22、开通客户端到需要访问的服务端之间的网络;
[0013]S23、配置服务映射关系,服务映射关系是分组IP和服务ID的对应关系。
[0014]在上述方法中,步骤S3,包括以下步骤:
[0015]S31、客户端加载服务映射关系到服务器缓存里,每一个服务ID对应一条或两条服务配置记录,其中一条服务配置记录为生产环境;
[0016]S32、客户端调用路由模块,传入服务配置记录至路由模块,返回服务分组的名称至客户端;
[0017]S33、客户端根据服务分组的名称获取服务订阅列表内的对应服务的分组,发起RPC调用。
[0018]在上述方法中,步骤S31中,当一个服务ID对应两条服务配置记录时,另一条服务配置记录为灰度环境。
[0019]本专利技术本专利技术基于dubbo框架,通过路由从多个服务分组中判断出应该调用的服务分组后,使客户端准确的完成调用服务端,当需要变更配置时,只需变更对应服务分组的缓存数据即可,配置风险小。另外,本专利技术按服务分组,多个服务可以任意组合单独配置分组,扩展性强,同时有很强的兼容性,支持多种协议,兼容Hessian通信方式,并且路由规则可控,调用方不需关注路由规则,路由规则由提供方配置即可;可跨网络区访问,基于路由规则,内部打通跨网络区访问关系,实现跨网络区调用,网络关系简单。
附图说明
[0020]附图1为本专利技术中一种基于dubbo服务分组的路由的方法的流程示意图。
[0021]附图2为图1中步骤S1的具体步骤的流程示意图。
[0022]附图3为图1中步骤S2的具体步骤的流程示意图。
[0023]附图4为图1中步骤S3的具体步骤的流程示意图。
具体实施方式
[0024]下面结合附图和实施例对本专利技术进一步说明。
[0025]以下将结合实施例和附图对本专利技术的构思、具体结构及产生的技术效果进行清楚、完整地描述,以充分地理解本专利技术的目的、特征和效果。显然,所描述的实施例只是本专利技术的一部分实施例,而不是全部实施例,基于本专利技术的实施例,本领域的技术人员在不付出创造性劳动的前提下所获得的其他实施例,均属于本专利技术保护的范围。另外,专利中涉及到的所有联接/连接关系,并非单指构件直接相接,而是指可根据具体实施情况,通过添加或减少联接辅件,来组成更优的联接结构。本专利技术创造中的各个技术特征,在不互相矛盾冲突的前提下可以交互组合。
[0026]参照图1所示,本专利技术的一种基于dubbo服务分组的路由的方法包括以下的步骤:
[0027]S1、服务端发布服务,应用服务器发布自己的服务分组。
[0028]具体的,参照图2所示,处于不同网络分区的应用服务器发布自己的服务分组,服务分组是基于dubbo的服务分组,即dubbo框架里的group,相同服务可以发布相同或不同的分组,即相同的服务可以发布多个分组或同一个分组,当服务接口相同,但是对应的渠道不同时,比如都是扫码接口,但是支持的渠道有支付宝和微信,此时会发布不同的服务分组;按服务分组配置服务IP,一个服务分组对应至少2个服务IP,服务IP是代表集群内服务器的IP,一般一个服务集群至少有2台服务器;注册服务到zookeeper,zookeeper作为dubbo的注册中心,把应用服务器发布的服务的接口名称登记到zookeeper上,以方便订阅者查询哪些服务是可用的。
[0029]S2、客户端订阅服务,客户端按服务名订阅服务端对应服务的所有分组的服务。
[0030]具体的,参照图3所示,网关层的不同客户端按服务名订阅服务端对应服务的所有组别的服务,服务名即应用服务器发布的服务接口名称,开通客户端到所有需要访问的服
务端之间的网络,配置服务映射关系,服务映射关系是分组IP和服务ID的对应关系。
[0031]S3、客户端通过路由模块获取要调用的服务组别,发起RPC调用。
[0032]具体的,参照图4所示,客户端加载服务映射关系到服务器缓存里,每一个服务ID对应一条或两条服务配置记录,一条服务配置记录为生产环境,另一条服务配置记录为灰度环境,灰度环境可配置也可不配置,配置灰度环境后,可实现服务的灰度发布,可单独配置灰度分组,验证通过后再变更分组上线;客户端调用路由模块,传入服务配置记录至路由模块,返回服务分组名称至客户端;客户端根据服务分组的名称获取服务订阅列表内的对应服务的分组,发起RPC调用,客户端调用服务端,RPC调用即为远程调用。
[0033]S4、完成调用,基于dubbo负载,客户端调用服务端。
[0034]具体的,基于dubbo框架,通过路由判断应该调用的服务分组后,客户端准确的完成调用服务端。
[0035]本专利技术基于dubbo框架,通过路由从多个服务分组中判断出应该调用的服务分组后,使客户端准确的完成调用服务端,当需要变更配置时,只需变更对应服务分组的缓存数据即可,配置风险小。另外,本专利技术按服务分组,多个服务可以任意组合单独配置分组,扩展性强,同时有很强的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于dubbo服务分组的路由的方法,其特征在于:包括以下步骤:S1、服务端发布服务,应用服务器发布自己的服务分组;S2、客户端订阅服务,客户端按服务名订阅服务端对应服务的所有分组的服务;S3、客户端通过路由模块获取要调用的服务组别,发起RPC调用;S4、完成调用,基于dubbo负载,客户端调用服务端。2.如权利要求1所述的一种基于dubbo服务分组的路由的方法,其特征在于:所述步骤S1,包括以下步骤:S11、处于不同网络分区的应用服务器发布自己的服务分组,相同服务可以发布相同或不同的分组;S12、按服务分组配置服务IP,一个服务分组对应至少2个服务IP;S13、注册服务到zookeeper。3.如权利要求1所述的一种基于dubbo服务分组的路由的方法,其特征在于:所述步骤S2,包括以下步骤:S21、网关层的不同客...

【专利技术属性】
技术研发人员:蒋磊吴海波刘顺谢虹郭倩
申请(专利权)人:银盛支付服务股份有限公司
类型:发明
国别省市:

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

1