一种拦截器以及基于拦截器的网关路由方法技术

技术编号:39895487 阅读:8 留言:0更新日期:2023-12-30 13:08
本公开属于计算机技术领域,具体涉及一种拦截器以及基于拦截器的网关路由方法

【技术实现步骤摘要】
一种拦截器以及基于拦截器的网关路由方法、装置


[0001]本公开属于计算机
,具体涉及一种拦截器以及基于拦截器的网关路由方法

装置


技术介绍

[0002]网关需要对访问业务系统的请求和业务系统对访问请求的响应进行转发

转换

过滤

加密

负载均衡等操作,从而实现网络互连

安全

缓存

负载均衡等功能

[0003]作为业务系统的入口,网关必须保持稳定

但是一个中大型的业务系统可能会对入口访问层有大量定制需求,这会导致网关业务代码的频繁变更,影响整个入口网关的稳定性

[0004]业界常通过拦截器方式将对入口访问层的少量改动与网关核心代码隔离,以提升网关稳定性

拦截器指的是对网关的访问请求进行拦截,将网关对访问请求的正常处理用拦截器对应的服务来代替

[0005]但是现在基于拦截器的网关路由方案都基于注解与代码编写方式来定义与使用拦截器,需要在原网关工程代码上集成,侵入性较强

无法做到与网关服务的完全独立,仍然会影响网关的稳定性

同时,拦截器无法在网关运行过程中基于业务逻辑进行部署或卸载,使用不灵活


技术实现思路

[0006]本公开实施例提出了一种基于拦截器的网关路由方案,以解决现有的基于拦截器的网关路由方案中拦截器无法与网关服务完全隔离和使用不灵活的问题

[0007]本公开实施例的第一方面提供了一种拦截器,部署于网关中,用于拦截对网关的微服务请求,所述拦截器包括对应的微服务和管理后台,其中:
[0008]所述管理后台用于配置所述拦截器在多个拦截器中的执行顺序,其中,所述多个拦截器预置于所述网关的路由配置中;
[0009]所述管理后台还用于配置所述微服务与网关服务的关联性;
[0010]当配置为具有关联性,并且当所述拦截器被执行时,所述网关通过远程过程调用方式执行所述微服务

[0011]本公开实施例的第二方面提供了一种基于拦截器的网关路由方法,包括:
[0012]获取微服务请求,基于所述微服务请求的路径

统一资源标识符和参数匹配路由规则,其中,所述路由规则包含拦截器列表信息,所述拦截器列表包含由本公开实施例第一方面所述拦截器;
[0013]从所述路由规则获取所述拦截器列表,基于预设执行顺序串行执行所述拦截器列表中与每个所述拦截器对应的微服务;
[0014]执行完所述拦截器列表中全部所述拦截器对应的微服务后,基于所述路由规则分配所述微服务请求至对应的微服务处理模块

[0015]在一些实施例中,所述基于预设执行顺序串行执行所述拦截器列表中与每个所述拦截器对应的微服务包括:
[0016]获取所述拦截器列表中每个所述拦截器预设的执行顺序编号,基于所述执行顺序编号串行执行所述拦截器对应的微服务

[0017]在一些实施例中,所述基于预设执行顺序执行所述拦截器列表中与每个所述拦截器对应的微服务包括:
[0018]如果所述拦截器是根据本公开实施例第一方面所述拦截器,通过所述管理后台调整所述拦截器列表中所述拦截器的执行顺序编号以使所述拦截器按目标顺序执行

[0019]在一些实施例中,执行与拦截器对应的微服务包括:
[0020]如果所述拦截器是根据本公开实施例第一方面所述拦截器,则通过远程过程调用方式执行所述拦截器对应的微服务,其中,所述微服务预先通过所述管理后台配置为与所述网关相关联

[0021]在一些实施例中,所述基于预设执行顺序执行所述拦截器列表中与每个所述拦截器对应的微服务还包括:
[0022]如果所述拦截器列表中的任一拦截器对应的微服务逻辑阻断所述微服务请求,则返回所述微服务请求并停止执行后续拦截器对应的微服务

[0023]在一些实施例中,所述方法还包括:
[0024]所述拦截器列表中的所述拦截器基于与所述预设执行顺序的相反顺序处理所述微服务处理模块对所述微服务请求的响应

[0025]本公开实施例的第三方面提供了一种基于拦截器的网关路由装置,其特征在于,包括:
[0026]匹配模块,用于获取微服务请求,基于所述微服务请求的路径

统一资源标识符和参数匹配路由规则,其中,所述路由规则包含拦截器列表信息,所述拦截器列表包含根据本公开实施例第一方面所述的拦截器;
[0027]执行模块,用于从所述路由规则获取所述拦截器列表,基于预设执行顺序串行执行所述拦截器列表中与每个所述拦截器对应的微服务;
[0028]路由模块,用于执行完所述拦截器列表中全部所述拦截器对应的微服务后,基于所述路由规则分配所述微服务请求至对应的微服务处理模块

[0029]综上所述,本公开各实施例提供的拦截器

基于拦截器的网关路由方法和基于拦截器的网关路由装置,通过使用独立的微服务实现自定义拦截器与网关服务的完全隔离,并通过管理后台进行配置即可完成拦截器与网关服务的关联,从而确保了网关本身的运行稳定性;同时,拦截器的加载与卸载通过管理后台的配置生效,网关中增加拦截器可以在网关运行状态完成热更新,并当需要基于业务逻辑改变拦截器的执行顺序时,只需要在管理后台进行配置即可,非常灵活

附图说明
[0030]通过参考附图会更加清楚的理解本公开的特征和优点,附图是示意性的而不应理解为对本公开进行任何限制,在附图中:
[0031]图1是本公开的一些实施例适用的一种网关系统的示意图;
[0032]图2是根据本公开的一些实施例适所示的一种基于拦截器的网关路由方法的流程图;
[0033]图3是根据本公开的一些实施例所示的一种基于拦截器的网关路由装置的示意图

具体实施方式
[0034]在下面的详细描述中,通过示例阐述了本公开的许多具体细节,以便提供对相关披露的透彻理解

然而,对于本领域的普通技术人员来讲,本公开显而易见的可以在没有这些细节的情况下实施

应当理解的是,本公开中使用“系统”、“装置”、“单元”和
/
或“模块”术语,是用于区分在顺序排列中不同级别的不同部件

元件

部分或组件的一种方法

然而,如果其他表达式可以实现相同的目的,这些术语可以被其他表达式替换

[0035]应当理解的是,当设备

单元或模块被称为“在
……
上”、“连接到”或“耦合到”另一设备

单元或模块时,其可以本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种拦截器,部署于网关中,用于拦截对网关的微服务请求,其特征在于,所述拦截器包括对应的微服务和管理后台,其中:所述管理后台用于配置所述拦截器在多个拦截器中的执行顺序,其中,所述多个拦截器预置于所述网关的路由配置中;所述管理后台还用于配置所述微服务与网关服务的关联性;当配置为具有关联性,并且当所述拦截器被执行时,所述网关通过远程过程调用方式执行所述微服务
。2.
一种基于拦截器的网关路由方法,其特征在于,包括:获取微服务请求,基于所述微服务请求的路径

统一资源标识符和参数匹配路由规则,其中,所述路由规则包含拦截器列表信息,所述拦截器列表包含根据权利要求1所述的拦截器;从所述路由规则获取所述拦截器列表,基于预设执行顺序串行执行所述拦截器列表中与每个所述拦截器对应的微服务;执行完所述拦截器列表中全部所述拦截器对应的微服务后,基于所述路由规则分配所述微服务请求至对应的微服务处理模块
。3.
根据权利要求2所述的方法,其特征在于,所述基于预设执行顺序串行执行所述拦截器列表中与每个所述拦截器对应的微服务包括:获取所述拦截器列表中每个所述拦截器预设的执行顺序编号,基于所述执行顺序编号串行执行所述拦截器对应的微服务
。4.
根据权利要求3所述的方法,其特征在于,所述基于预设执行顺序执行所述拦截器列表中与每个所述拦截器对应的微服务包括:如果所述拦截器是根据权利要求1所述拦截器,通过所述管理后台调整所述拦截器列...

【专利技术属性】
技术研发人员:骆华君
申请(专利权)人:浙江讯盟科技有限公司
类型:发明
国别省市:

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

1