ZUUL的概念及使用

      zuul是微服务架构的重要组成部分,是API网关,是用来映射客户端的请求与服务之间的关系,提供了路由、服务器端负载均衡、安全等功能

1、通过Zuul包装之后经过访问,往往默认是使用Hystrix断路器和使用Ribbon负载均衡

Zuul本身都具有断路器的功能,

所以我们在测试文件上传时,文件太大,可能会超时,这是需要对Hystrix和Ribbon的限制时间进行调整,如下:

hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: 60000
ribbon:
  ConnectTimeout: 3000
  ReadTimeout: 60000

2、通过Zuul上传大文件怎么设置

 可以在路径中加入/zuul/原先的目录,因为Zuul是通过/zuul/*来绕过DispatcherServlet,这样对文件大小限制就绕开,例如:

http://localhost:8050/upload 可以改成这样子:http://localhost:8050/zuul/upload

3、通过/routes访问

通过/routes来访问路由映射关系, 如下图:

4、Zuul过滤器

Zuul大部分功能都是通过过滤器来实现的,Zuul中定义了四种标准过滤器类型,这四种类型分别是:

(1)PRE:这种过滤器在请求路由之前调用,我们可利用这种过滤器来实现身份验证、在集群中选择请求的微服务、记录调试信息等。

(2)ROUTING:这种过滤器将请求路由到微服务,这种过滤器用于构建发送给微服务的请求,并使用ApacheHttpClient或Netflix Ribbon请求微服务。

(3)Post:这种过滤器在路由到微服务以后执行,这种过滤器可用来为响应添加标准的HTTP Header、收集统计信息和指标、将响应从微服务发送给客户端。

(4)ERROR:在其它阶段发生错误时执行该过滤器。

除了默认的过滤器类型,Zuul还允许我们创建自定义的过滤器类型,例如,我们可以定制一种STATIC类型的过滤器,直接在Zuul中生成响应,而不将请求转发到后端的微服务中。

Zuul请求的生命周期如下图所示,该图详细描述了各种类型的过滤器的执行顺序:

5、禁用过滤器

Zuul提供了可以禁用单个过滤器,可以在application.yml中配置

zuul.<SimpleClassName>.<filterType>.disable=true

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

garagong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值