企业分布式应用中实现请求动态路由的系统及其方法技术方案

技术编号:25761843 阅读:25 留言:0更新日期:2020-09-25 21:09
本发明专利技术涉及一种企业分布式应用中实现请求动态路由的系统,包括注册中心服务端用于保存应用的IP、端口以及应用的其他元信息;配置中心服务端用于将应用中各种配置、参数,集中进行统一管理,提供标准获取配置的接口;应用模块用于通过注册中心服务端注册自身应用以及获取其他应用,通过路由匹配选择合适应用,通过配置中心服务端获取配置信息以及监听配置变化。本发明专利技术还涉及一种实现企业分布式应用中请求动态路由的方法。采用了本发明专利技术的企业分布式应用中实现请求动态路由的系统及其方法,可以实现路由规则的统一配置。方法能使应用间的请求路由更为简单高效,无须修改应用代码,使用调用端进行路由选择,避免了集中路由可能的单点故障。

【技术实现步骤摘要】
企业分布式应用中实现请求动态路由的系统及其方法
本专利技术涉及计算机软件领域,尤其涉及企业分布式应用领域,具体是指一种企业分布式应用中实现请求动态路由的系统及其方法。
技术介绍
企业分布式应用架构是现在主流的一种应用架构风格,它是将一个大型的复杂系统拆分成多个小型应用。各个小型应用可被独立部署,各个小型应用之间是松耦合的,这些小型应用之间以轻量级的通信协议(HTTP)作为基础进行通信实现。这样的架构独立性更强、粒度更细、性能更高、安全性、可扩展性、可重用性都更高。这些小型应用上线时都是集群部署,这样造成在一个系统的运行环境中会存在很多的各个小型应用的实例,调用端应用如何从这些应用中选择合适的应用提供者来进行调用,这就涉及到应用的请求路由。现有分布式应用架构中,会提供注册中心用于存储应用的地址以及应用的其他元信息,应用调用者和提供者通过注册中心提供的SDK与注册中心建立连接,提供者将需要将自身信息写入注册中心。调用者根据指定的应用名等信息,从注册中心获取应用提供者列表,缓存到本地。并且现有分布式应用框架通常会提供多种负载均衡策略,同时支持用户扩展负载均衡策略。常见的负载均衡策略包括:1)随机负载:采用随机算法从服务提供者列表中随机选择,进行负债均衡,随机路由算法消息分发还是比较均匀的;2)轮询负载:顺序循环遍历服务提供者列表,达到上限之后重新归零,继续顺序循环;3)响应时间加权重策略:根据Server的响应时间分配权重,响应时间越长,权重越低,被选择到的概率也就越低。响应时间越短,权重越高,被选中的概率越高,这个策略很贴切,综合了各种因素,比如:网络、磁盘、IO等,都直接影响响应时间。在现有的分布式应用架构中,请求路由的实现有以下不足之处:1)路由规则无法动态生效:请求路由一般采用静态配置,如写在配置文件中,上线以后很难动态修改,在修改配置后必须重启应用才能使新的路由策略生效;2)路由规则没有匹配条件:在一个应用里对于其他所有应用的调用都使用同一种路由规则,没有提供细粒度的路由规则匹配条件,如根据发生请求的HTTPHeader的值来选择不同的路由规则;3)路由规则不支持目标应用的实例分组:对路由的目标应用的多实例进行分组,可以实现如灰度发布、多版本同时运行的特性。
技术实现思路
本专利技术的目的是克服了上述现有技术的缺点,提供了一种满足结构简便、简单高效、适用范围较为广泛的企业分布式应用中实现请求动态路由的系统及其方法。为了实现上述目的,本专利技术的企业分布式应用中实现请求动态路由的系统及其方法如下:该企业分布式应用中实现请求动态路由的系统,其主要特点是,所述的系统包括:注册中心服务端,用于保存应用的IP、端口以及应用的其他元信息;配置中心服务端,用于将应用中各种配置、参数,集中进行统一管理,提供标准获取配置的接口,并主动推送发生变更的配置;应用模块,与所述的注册中心服务端和配置中心服务端分别相连接,用于通过注册中心服务端注册自身应用以及获取其他应用,通过路由匹配选择合适应用,通过配置中心服务端获取配置信息以及监听配置变化。较佳地,所述的应用模块包括:注册中心客户端,与所述的注册中心服务端相连接,用于向注册中心服务端注册自身应用信息,并获取已注册的其他应用列表;配置中心客户端,与所述的配置中心服务端相连接,用于从配置中心服务端拉取指定应用的配置,并支持通过设置监听器实时监听配置变化;应用SDK,与所述的注册中心客户端和配置中心客户端相连接,用于在启动时向注册中心增加应用实例组信息,获取所有路由配置,根据路由配置进行请求发送。较佳地,所述的应用模块是集合注册中心客户端、配置中心客户端和应用SDK的Jar包文件。该基于上述系统实现企业分布式应用中请求动态路由的方法,其主要特点是,所述的方法包括以下步骤:(1)注册中心客户端启动时向注册中心服务端注册本应用信息;(2)注册应用实例分组信息;(3)应用SDK在启动时通过配置中心客户端从配置中心服务端获取路由配置信息,并保存至上一步的本地缓存;(4)在启动时增加配置监听器,实时监听路由配置变化;(5)提供自定义负载均衡拦截器,实现应用实例过滤器功能;(6)进行路由匹配,选择应用实例;(7)对满足条件的应用实例列表使用负载均衡策略,选择一个实例发送请求。较佳地,所述的步骤(2)具体包括以下步骤:(2.1)应用SDK在启动时向注册中心服务端注册本应用的元信息;(2.2)应用SDK提供路由配置的本地缓存管理接口。较佳地,所述的步骤(6)具体包括以下步骤:(6.1)应用SDK根据被调应用名查找相关路由配置列表;(6.2)应用SDK根据多种数据类型的多种条件过滤路由配置列表,查找符合条件的路由配置;(6.3)应用SDK根据满足条件的路由配置里的目标应用实例组,返回合适的应用实例列表。较佳地,所述的步骤(1)中注册的本应用信息包括应用的IP信息和端口信息。较佳地,所述的步骤(2.1)中本应用的元信息包括应用的实例分组信息。较佳地,所述的步骤(2.2)中本地缓存管理接口包含增删改查路由配置。采用了本专利技术的企业分布式应用中实现请求动态路由的系统及其方法,可以实现路由规则的统一配置,路由规则支持根据HTTPHeader里的不同头信息去选择含有不同元信息的目标应用。路由规则会被下发到各个应用中,应用之间的互调由调用端应用根据路由规则将请求发往合适的服务端应用。该方法能使应用间的请求路由更为简单高效,支持路由规则的动态新增、更新、删除,无须修改应用代码,使用调用端进行路由选择,避免了集中路由可能的单点故障,因此系统运行效率更高,性能稳定可靠并能够快速适应业务需求的变化。附图说明图1为本专利技术的企业分布式应用中实现请求动态路由的系统的结构示意图。图2为本专利技术的实现企业分布式应用中请求动态路由的方法的流程示意图。具体实施方式为了能够更清楚地描述本专利技术的
技术实现思路
,下面结合具体实施例来进行进一步的描述。本专利技术的该企业分布式应用中实现请求动态路由的系统,其中包括:注册中心服务端,用于保存应用的IP、端口以及应用的其他元信息;配置中心服务端,用于将应用中各种配置、参数,集中进行统一管理,提供标准获取配置的接口,并主动推送发生变更的配置;应用模块,与所述的注册中心服务端和配置中心服务端分别相连接,用于通过注册中心服务端注册自身应用以及获取其他应用,通过路由匹配选择合适应用,通过配置中心服务端获取配置信息以及监听配置变化。作为本专利技术的优选实施方式,所述的应用模块包括:注册中心客户端,与所述的注册中心服务端相连接,用于向注册中心服务端注册自身应用信息,并获取已注册的其他应用列表;配置中心客户端,与所述的配置中心服务端相连接,用于从配置中心服务端拉取指定应用的配置,并支持通过设置监听器实时监听本文档来自技高网
...

【技术保护点】
1.一种企业分布式应用中实现请求动态路由的系统,其特征在于,所述的系统包括:/n注册中心服务端,用于保存应用的IP、端口以及应用的其他元信息;/n配置中心服务端,用于将应用中各种配置、参数,集中进行统一管理,提供标准获取配置的接口,并主动推送发生变更的配置;/n应用模块,与所述的注册中心服务端和配置中心服务端分别相连接,用于通过注册中心服务端注册自身应用以及获取其他应用,通过路由匹配选择合适应用,通过配置中心服务端获取配置信息以及监听配置变化。/n

【技术特征摘要】
1.一种企业分布式应用中实现请求动态路由的系统,其特征在于,所述的系统包括:
注册中心服务端,用于保存应用的IP、端口以及应用的其他元信息;
配置中心服务端,用于将应用中各种配置、参数,集中进行统一管理,提供标准获取配置的接口,并主动推送发生变更的配置;
应用模块,与所述的注册中心服务端和配置中心服务端分别相连接,用于通过注册中心服务端注册自身应用以及获取其他应用,通过路由匹配选择合适应用,通过配置中心服务端获取配置信息以及监听配置变化。


2.根据权利要求1所述的企业分布式应用中实现请求动态路由的系统,其特征在于,所述的应用模块包括:
注册中心客户端,与所述的注册中心服务端相连接,用于向注册中心服务端注册自身应用信息,并获取已注册的其他应用列表;
配置中心客户端,与所述的配置中心服务端相连接,用于从配置中心服务端拉取指定应用的配置,并支持通过设置监听器实时监听配置变化;
应用SDK,与所述的注册中心客户端和配置中心客户端相连接,用于在启动时向注册中心增加应用实例组信息,获取所有路由配置,根据路由配置进行请求发送。


3.根据权利要求2所述的企业分布式应用中实现请求动态路由的系统,其特征在于,所述的应用模块是集合注册中心客户端、配置中心客户端和应用SDK的Jar包文件。


4.一种基于权利要求1所述的系统实现企业分布式应用中请求动态路由的方法,其特征在于,所述的方法包括以下步骤:
(1)注册中心客户端启动时向注册中心服务端注册本应用信息;
(2)注册应用实例分组信息;
(3)应用SDK在启动时通过配置中心客户...

【专利技术属性】
技术研发人员:王文斌刘相王葱权
申请(专利权)人:普元信息技术股份有限公司
类型:发明
国别省市:上海;31

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

1