使用Zuul之后的架构
客户端请求微服务时,先经过Zuul之后再请求,这样就可以将一些类似于校验的业务逻辑放到zuul中完成。
而微服务自身只需要关注自己的业务逻辑即可。当然在Zuul上层也可以搭建Nginx、F5等负载均衡设施。
一.过滤器ZuulFilter
过滤器是Zuul的重要组件。
ZuulFilter是一个抽象类,其实现类需要实现4个方法:
- ① shouldFilter:返回一个Boolean值,判断该过滤器是否需要执行。返回true执行,返回false不执行。
- ② run:过滤器的具体业务逻辑。
- ③ filterType:返回字符串代表过滤器的类型
a) pre:请求在被路由之前执行
b) routing:在路由请求时调用
c) post:在routing和errror过滤器之后调用
d) error:处理请求时发生错误调用 - ④ filterOrder:通过返回的int值来定义过滤器的执行顺序,数字越小优先级越高。