一种动态可插拔式的策略路由框架制造技术

技术编号:34772177 阅读:21 留言:0更新日期:2022-08-31 19:35
本发明专利技术公开一种动态可插拔式的策略路由框架,包括策略路由组件和动态可插拔组件;所述的策略路由组件包括配置加载组件、策略发现组件、策略分发组件以及结果聚合组件;策略发现组件用于查找发现策略实现者,且支持静态模式和动态模式,静态模式为查找当前应用内所有的策略实现者;而动态模式则是从插件库中查找插件并独立加载。本发明专利技术的动态可插拔策略路由框架可适应业务的快速发展和业务场景的多样化,提高了应用系统的扩展性,本发明专利技术的框架支持插件式设计,动态可插拔,其一方面,能够提高应用系统对业务的快速支撑能力,并隔离业务风险;另一方面,该框架可助力应用系统提高业务可配置化的能力,从而降低开发投入,提高人效。提高人效。提高人效。

【技术实现步骤摘要】
一种动态可插拔式的策略路由框架


[0001]本专利技术涉及策略路由和动态可插拔
,具体涉及一种动态可插拔式的策略路由框架。

技术介绍

[0002]中台系统建设是很多中大型互联网公司的比走之路,中台建设一方面打破了烟囱式设计,避免重复造轮子,降低资源投入;另一方面,中台建设聚焦能力沉淀,打破系统间的壁垒,提高系统的扩展性,开放性。在业务支撑方面可提高业务支撑能力的敏捷性和快速试错性。本专利技术可助力中台建设扩展性的一面,提供一种可插拔式的插件化设计和热部署的能力。
[0003]现有技术中,大多数中台系统是基于开源框架swak和sofa进行功能扩展和集成;其中的swak本身仅支持静态策略路由;策略分发模式较少,适用的场景覆盖也较少,且不支持策略规则配置化。
[0004]而sofa本身是一个完整的具备插件的热部署,环境隔离,可配置化的优秀开源框架;但是sofa的接入成本比较多,存在一定风险;且现有技术中,两者技术通常分别使用,很少集成在一起,不仅增加了成本,而且功能方面也不够全面。
[0005]因此,为了解决上述技术问题,需要研发一种可集成swak的易用性和sofa强大功能支持的强动态可插拔式的策略路由框架。

技术实现思路

[0006]本专利技术的目的是针对现有技术存在的不足,提供一种动态可插拔式的策略路由框架,技术方案如下:
[0007]一种动态可插拔式的策略路由框架,包括策略路由组件和动态可插拔组件;
[0008]所述的策略路由组件包括配置加载组件、策略发现组件、策略分发组件以及结果聚合组件;
[0009]其中,所述的策略发现组件用于查找发现策略实现者,且支持静态模式和动态模式,静态模式为查找当前应用内所有的策略实现者;而动态模式则是从插件库中查找插件并独立加载,运行时可动态替换,即为热插拔模式,且在动态模式运行时调用动态可插拔组件。
[0010]进一步地,所述的配置加载组件中为每一个策略实现者配置唯一的身份标识,此身份标识根据接口入参计算所得,配置的具体内容是计算身份标识的表达式,可动态修改;
[0011]所述的策略分发组件用于调度策略实现候选集,策略候选集是根据策略配置所匹配到的策略实现者的集合;支持调用第一个配置者、返回值不为空的第一个配置者、以及广播模式中调用每一个匹配者;其中每一种分发模式,均支持同步和异步方式;
[0012]所述的结果聚合组件表示对策略接口调用结果的处理方式,支持两种模式,分别为:聚合所有匹配者的结果以及丢弃所有结果。
[0013]进一步地,所述的动态可插拔组件包括Ark容器、Ark插件以及Ark业务模块;
[0014]所述的Ark容器负责整个动态可插拔组件运行时的管理,Ark插件以及Ark业务模块运行在Ark容器之上;Ark容器具备管理多插件、多应用的功能;且Ark容器启动成功后,会自动解析类路径下包含的Ark插件以及Ark业务模块,完成隔离加载并按优先级依次启动。
[0015]进一步地,所述的Ark插件包含一份配置文件,该配置文件中包括插件类导入导出配置信息以及插件启动优先级信息;运行时,Ark容器会使用独立的插件加载器加载插件,并根据插件配置构建类加载索引表,从而使插件与插件、插件与应用之间相互隔离;
[0016]所述的Ark业务模块是工程应用模块及其依赖包的组织单元,包含应用启动所需的所有依赖和配置。
[0017]进一步地,所述的动态可插拔组件运行时通过API或者配置中心来控制应用的部署和卸载;具体如下:
[0018]运行时,宿主应用会作为流量入口的中台系统,具体的服务实现会放在不同的动态Biz中供宿主应用调用;宿主应用使用客户端API实现动态应用的部署和卸载;且除了API,还提供了Config Plugin用于对接配置中心,运行时接受动态配置,Config Plugin会解析下发的配置,控制动态应用的部署和卸载。
[0019]进一步地,还包括能力集成部分,该能力集成部分包括组件集成模块和系统集成模块;
[0020]所述的组件集成模块可将策略路由组件与动态可插拔组件集成到一起,具体两者的集成可通过扩展一个新的策略发现组件来桥接。
[0021]所述的系统集成模块解决宿主应用如何使用该策略路由框架,具体宿主应用只需通过Maven引入该框架JAR包即可。
[0022]有益效果:本专利技术具有以下有益效果:本专利技术的动态可插拔策略路由框架可适应业务的快速发展和业务场景的多样化,提高了应用系统的扩展性,本专利技术的框架支持插件式设计,动态可插拔,其一方面,能够提高应用系统对业务的快速支撑能力,并隔离业务风险;另一方面,该框架可助力应用系统提高业务可配置化的能力,从而降低开发投入,提高人效。
附图说明
[0023]图1为本专利技术原理框架图;
[0024]图2为本专利技术流程图;
[0025]图3和图4均为本专利技术动态可插拔组件原理框架图。
具体实施方式
[0026]下面结合附图和具体实施例,进一步阐明本专利技术,本实施例在以本专利技术技术方案为前提下进行实施,应理解这些实施例仅用于说明本专利技术而不用于限制本专利技术的范围。
[0027]如图1、图2、图3和图4所示,一种动态可插拔式的策略路由框架,包括策略路由组件和动态可插拔组件;策略路由组件包括配置加载组件、策略发现组件、策略分发组件以及结果聚合组件;
[0028]其中,策略发现组件用于查找发现策略实现者,且支持静态模式和动态模式,静态
模式为查找当前应用内所有的策略实现者;而动态模式则是从插件库中查找插件并独立加载,运行时可动态替换,即为热插拔模式,且在动态模式运行时调用动态可插拔组件。
[0029]配置加载组件中为每一个策略实现者配置唯一的身份标识,此身份标识根据接口入参计算所得,配置的具体内容是计算身份标识的表达式,可动态修改;
[0030]策略分发组件用于调度策略实现候选集,策略候选集是根据策略配置所匹配到的策略实现者的集合;支持调用第一个配置者、返回值不为空的第一个配置者、以及广播模式中调用每一个匹配者;其中每一种分发模式,均支持同步和异步方式;
[0031]结果聚合组件表示对策略接口调用结果的处理方式,支持两种模式,分别为:聚合所有匹配者的结果以及丢弃所有结果。
[0032]动态可插拔组件包括Ark容器、Ark插件以及Ark业务模块;Ark容器负责整个动态可插拔组件运行时的管理,Ark插件以及Ark业务模块运行在Ark容器之上;Ark容器具备管理多插件、多应用的功能;且Ark容器启动成功后,会自动解析类路径下包含的Ark插件以及Ark业务模块,完成隔离加载并按优先级依次启动。
[0033]Ark插件包含一份配置文件,该配置文件中包括插件类导入导出配置信息以及插件启动优先级信息;运行时,Ark容器会使用独立的插件加载器加载插件,并根据插件配置构建类加载索引表,从而使插件与插件、插件与应用之间相互隔离;
[0034]Ark本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种动态可插拔式的策略路由框架,其特征在于:包括策略路由组件和动态可插拔组件;所述的策略路由组件包括配置加载组件、策略发现组件、策略分发组件以及结果聚合组件;其中,所述的策略发现组件用于查找发现策略实现者,且支持静态模式和动态模式,静态模式为查找当前应用内所有的策略实现者;而动态模式则是从插件库中查找插件并独立加载,运行时可动态替换,且在动态模式运行时调用动态可插拔组件。2.根据权利要求1所述的一种动态可插拔式的策略路由框架,其特征在于:所述的配置加载组件中为每一个策略实现者配置唯一的身份标识,此身份标识根据接口入参计算所得,配置的具体内容是计算身份标识的表达式,可动态修改;所述的策略分发组件用于调度策略实现候选集,策略候选集是根据策略配置所匹配到的策略实现者的集合;支持调用第一个配置者、返回值不为空的第一个配置者、以及广播模式中调用每一个匹配者;其中每一种分发模式,均支持同步和异步方式;所述的结果聚合组件表示对策略接口调用结果的处理方式,支持两种模式,分别为:聚合所有匹配者的结果以及丢弃所有结果。3.根据权利要求2所述的一种动态可插拔式的策略路由框架,其特征在于:所述的动态可插拔组件包括Ark容器、Ark插件以及Ark业务模块;所述的Ark容器负责整个动态可插拔组件运行时的管理,Ark插件以及Ark业务模块运行在Ark容器之上;Ark容器具备管理多插件、多应用的功能;且Ark容器启动成功后,会自动解析类路径下包含的Ark插件...

【专利技术属性】
技术研发人员:宋大龙曹阿伟
申请(专利权)人:江苏康众汽配有限公司
类型:发明
国别省市:

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

1