[发明专利]基于dubbo和spring框架的动态路由分组的方法有效
申请号: | 202010401038.5 | 申请日: | 2020-05-13 |
公开(公告)号: | CN111580797B | 公开(公告)日: | 2021-04-27 |
发明(设计)人: | 曾垂坚;唐小波 | 申请(专利权)人: | 上海创蓝文化传播有限公司 |
主分类号: | G06F8/20 | 分类号: | G06F8/20 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 201613 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 dubbo spring 框架 动态 路由 分组 方法 | ||
本发明公开了基于dubbo和spring框架的动态路由分组的方法,包括如下步骤:步骤1:修改dubbo标签命名空间为自定义命名空间;步骤2:通过自定义命名空间指向自定义命名空间处理类;步骤3:自定义命名空间处理类中指定reference标签解析类为自定义reference标签解析类;步骤4:自定义reference标签解析类中指定bean对象产生类为自定义bean对象产生类;步骤5:自定义bean对象产生类中通过参数选择动态代理对象产生方式;步骤6:通过产生方式在运行时产生自定义动态代理对象。本发明可以在服务运行期间动态的指定和修改调用服务的分组。
技术领域
本发明涉及分布式服务技术领域,特别涉及基于dubbo和spring框架的动态路由分组的方法。
背景技术
随着互联网的发展,分布式服务普及,多使用分而治之(分片、分组)的的方式进行分布式拆分,进而提高整体服务的性能。目前,对于微服务常使用的dubbo服务框架,项目启动的时候配置消费者调用的分组,一旦确定且无法更改,无法应用于在应用运行期或者方法调用时才能确定分组的场景。
发明内容
本发明的目的在于提供基于dubbo和spring框架的动态路由分组的方法,可以在服务运行期间动态的指定和修改调用服务的分组,可以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
基于dubbo和spring框架的动态路由分组的方法,包括如下步骤:
步骤1:修改dubbo标签命名空间为自定义命名空间;
步骤2:通过自定义命名空间指向自定义命名空间处理类;
步骤3:自定义命名空间处理类中指定reference标签解析类为自定义reference标签解析类;
步骤4:自定义reference标签解析类中指定bean对象产生类为自定义bean对象产生类;
步骤5:自定义bean对象产生类中通过参数选择动态代理对象产生方式;
步骤6:通过产生方式在运行时产生自定义动态代理对象。
进一步地,命名空间处理类中,包含原有dubbo命名空间处理类的功能,修改dubbo的reference标签的标签解析类为reference标签解析类或者自定义reference标签解析类,用于区分dubbo的reference标签解析类。
进一步地,动态代理对象产生类中可以通过参数指定使用jdk的动态代理还是javassist的动态代理。
进一步地,动态代理对象中,使用获得的分组调用dubbo的代理对象产生方法,创建并且获取dubbo动态代理对象。
进一步地,动态代理对象中将分组作为键,产生的dubbo动态代理对象作为值存入分组映射代理对象集合缓存中以供后续使用。
与现有技术相比,本发明的有益效果是:
本发明中dubbo配置消费者引用标签reference,在运行期间将其解析为自定义动态代理对象,自定义动态代理对象中会将reference标签配置信息、接口信息、方法信息、方法参数等传入本发明默认分组路由器中获取分组,默认分组路由器循环调用分组路由器接口实现类集合直至获取分组,然后进而根据分组产生和调用dubbo动态代理对象去进行rpc调用,达到在运行时动态路由分组的目的。
附图说明
图1为本发明基于dubbo和spring框架产生dubbo接口自定义代理对象的方法流程图;
图2为本发明动态代理对象分组路由器接口注入流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海创蓝文化传播有限公司,未经上海创蓝文化传播有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010401038.5/2.html,转载请声明来源钻瓜专利网。