SpringCloud(三)服务网关Zuul

zuul是什么

zuul是Netflix设计用来为所有面向设备、web网站提供服务的所有应用的门面,zuul可以提供动态路由、监控、弹性扩展、安全认证等服务,他还可以根据需求将请求路由到多个应用中。

zuul是用来解决什么问题的

在使用网关之前,动态的路由是通过Nginx的配置来做的,但是一旦发生改变,比如IP地址发生改变,加入其它路由,就要重新配置Nginx,重启Nginx。安全认证是放在每一个应用中,应用中包含了非业务强相关的内容,看起来也是不够优雅。

在目前的应用中,zuul主要用来做如下几件事情:

  • 动态路由:APP、web网站通过zuul来访问不同的服务提供方,且与ribbon结合,还可以负载均衡的路由到同一个应用不同的实例中。

  • 安全认证:zuul作为互联网服务架构中的网关,可以用来校验非法访问、授予token、校验token等。

  • 限流:zuul通过记录每种请求的类型来达到限制访问过多导致服务down掉的目的。

  • 静态响应处理:直接在zuul就处理一些请求,返回响应内容,不转发到微服务内部。

  • 区域弹性:主要是针对AWS上的应用做一些弹性扩展。

zuul入门实战

启动类
在这里插入图片描述
zuul的路由配置:

zuul:
  routes:
    product: 
      path: /myProduct/**
      serviceId: product
       #排除某些路由
  ignored-patterns:
    - /**/product/listForOrder

简洁配置

zuul:
  routes:
    product: /myProduct/**
    #排除某些路由
  ignored-patterns:
    - /**/product/listForOrder

访问路由
在这里插入图片描述
可以从路由中获取响应信息,成功

排除路由设置

如下进行排除配置:
ignored-patterns:
- /**/product/listForOrder

这里用PostMan对其进行排除路由的测试:
在这里插入图片描述
结果访问排除的路由接口为404,成功。

传递Cookie
因为zuul的敏感头sensitiveHeaders 会过滤掉敏感头 包括Cookie,那么只需要对其设置为空
在这里插入图片描述

Zuul的特点

  • 路由+过滤器 = Zuul
  • 核心是一系列的过滤器

前置过滤器(Pre) 的使用场景有:

  1. 限流
  2. 鉴权
  3. 参数校验调整

后置过滤器(Post)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值