美文网首页
Zuul的路由匹配

Zuul的路由匹配

作者: 鱼da王 | 来源:发表于2020-08-19 23:41 被阅读0次

上一篇,我们已经知道了 Zuul 的配置,其中 Zuul 的路由匹配也是核心配置之一,那 Zuul 是怎么匹配我们的请求,从而让我们的请求进入到一系列的 ZuulFilter 呢?那就和我一起去刨一刨吧。

Zuul的路由匹配规则是什么呢?

拿出我的必杀器,DDDDebug 一下:

  1. Debug 显示匹配路由是先从 Spring 在AbstractUrlHandlerMapping匹配HandlerExecutionChain开始

    Spring-Match-ZuulController
  2. 之后进入到ZuulFilter的 Pre 类型的FIlter当中的PreDecorationFilter ,匹配对应的ZuulRoute

  3. 首先把请求的路由修理一下,去掉context-path。就像例子当中,请求 url 中/text/test 去掉了 /text,再接着执行

    去掉context-path
  4. 之后进入到SimpleRouteLocator,判断是否属于 Zuul 忽略处理的请求,如果不是,再匹配对应ZuulRoute。这里可以发现匹配功能都是由AntPathMatcher来负责

    SimpleRouteLocator匹配URL

那我们发现,不管是 Spring 的匹配 Handler 还是 PreDecorationFilter 匹配 ZuulRoute,都用到的是AntPathMatcher。那我们现在只需要搞明白AntPathMatcher匹配规则就好了。Go on!

ANT Style Pattern

匹配规则如下:

符号 描述
? 匹配一个字符
* 匹配0个或者更多的字符
** 匹配路径中0个或者更多目录

举例:

例子 解释
com/t?st.jsp 可以匹配 com/test.jsp 或者 com/tast.jsp 或者 com/txst.jsp 等等
com/*.jsp 匹配到 com 目录下所有 .jsp 文件
com/**/test.jsp 匹配在 com 路径下,所有的 test.jsp 文件
org/springframework/**/*.jsp 匹配 org/springframework 路径下所有 .jsp文件
org/**/servlet/bla.jsp 可以匹配 org 路径下,后面多层目录且最后一个目录是 servlet/bla.jsp 的路径

总结

其实,刨下来 Zuul 的路由匹配还挺简单的,主要理解并掌握 Ant 的匹配规则就完事儿了。来动手试一试吧。

Demo地址是:https://github.com/goldpumpkin/learn-demo

我的个人水平有限,欢迎大家指正,欢迎交流~

Ref.
stackoverflow-learning-ant-path-style

相关文章

  • Zuul的路由匹配

    上一篇,我们已经知道了 Zuul 的配置,其中 Zuul 的路由匹配也是核心配置之一,那 Zuul 是怎么匹配我...

  • Zuul路由网关与过滤器

    技术需求点:1.介绍Zuul网关路由和过滤器两大功能的工作原理;2.模拟Zuul路由网关功能;3.使用Zuul网关...

  • 第二章 zuul基本原理

    一、zuul简介 zuul使用一系列的filter实现以下功能 动态路由 - 动态的将request路由到后端的服...

  • SpringCloud---GateWay---Zuul(API

    介绍 Zuul是Netflix出品的一个基于JVM路由和服务端的负载均衡器。Spring Cloud Zuul路由...

  • JavaEE进阶知识学习-----SpringCloud(九)Z

    Zuul路由网关 概述 Zuul包含了对请求的路由和过滤两个主要的功能,其中路由的功能是负责将外部请求转发到具体的...

  • SpringCloud学习(五)之Zuul

    Zuul简介 Spring Cloud Zuul路由是微服务架构的不可或缺的一部分,提供动态路由,监控,弹性,安全...

  • spring cloud 学习笔记二

    路由网关 zuul Zuul的主要功能是路由和过滤器。路由功能是微服务的一部分,比如/api/user映射到use...

  • API网关Zuul(2)--Quick Start

    编写一个简单的Zuul网关 1. 引入依赖: 启动类: 配置文件: Zuul配置详解 路由配置 运行zuul后,访...

  • Zuul源码分析

    ZUUL ZUUL功能如下: 认证 动态路由 安全 静态response处理 压力测试 流控 核心概念 type:...

  • zuul 路由

    配置 引入相关依赖 配置路由,将/bar-service/**的所有请求发送到bar-serivce服务 配置路由...

网友评论

      本文标题:Zuul的路由匹配

      本文链接:https://www.haomeiwen.com/subject/wvejjktx.html