springcloud zuul鉴权 限流 参数调整 以及 日志 统计 pre以及post

zuul的核心是过滤器链,而这里的过滤器前置的pre()是对限流 ,鉴权,参数调整等一系列的功能支持,自定义,而post()则是对日志,数据统计等功能支持。
如果需要zuul实现高可用支持,就需要多个zuul注册到eureka注册中心即可,对内部而言,多个zuul会发送心跳给eureka注册中心,这时候,检测到有心跳的服务就可以提供服务,就会发生a服务调用b服务,而对外部而言可以使用 Nginx反向代理到多个zuul上进行路由URL
下面先来整体的分析项目在这里插入图片描述
接下来自定义鉴权功能,这个功能需要访问者需要带上token才能进行访问相应的API,这里就需要设计一个过滤类继承了ZuulFilter这个类,然后才能使用定义过滤的order以及filterType还有run的逻辑,注意的写法,order的顺序问题,需要在哪个过滤器之前,官方图鉴的这种写法。在这里插入图片描述
对没有token的过滤逻辑
在这里插入图片描述
后置处理器 post 系列过滤器,定义跟pre()系列过滤器一致,也是同样需要继承ZuulFilter这个类,重写对后置处理的规则,不同的是pre是对request来进行处理,而post就是response来处理,在这里插入图片描述
通过浏览器的network可以看到返回自定义的内容 header里面在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_30947631/article/details/85070925
今日推荐