springcloud 微服务网关组件 Zuul 之源码分析(十七)

今天和大家一起分析Zuul 源码,网关服务路由的功能,

1、从启动类注解开始:

 创建一个对象起到一个标识过滤作用

2、找到相关jar包:

两个很重要的类:

进入 ZuulServerAutoConfiguration,创建  controller和Maping、核心处理类ZuulServet等多个过滤器

ZuulController继承特殊的controller接口,

3、返回来继续:

4、点击进入:三个核心方法依次调用, zuulServlet 中就涉及到 prerouteposterror 过滤器的调用

5、其中分析一个 route 过滤器,这个过滤器是 zuul 做路由的调用的

6、点击拿到所有过滤器,排序依次调用

7、最终调到run方法

8、这是调用流程,我们通过SPI机制再看它的过滤器:

9、点击来到核心过滤器:

 10、继续进入

11、点击 forward 方法,发现又跳转到Hystrix内容中了:

到此Zull源码的流程分析完了,大家一定要按照这个思路,好好研读!下一篇我们分析Config配置中心源码,敬请期待!

猜你喜欢

转载自blog.csdn.net/nandao158/article/details/108524038