服务网关Zuul

Zuul介绍

路由+过滤器 = Zuul

核心是一系列的过滤器

Zuul的四种过滤器API

前置(PRE)

后置(POST)

路由(Route)

错误(Error)

Zuul组织架构图

Zuul Fillter生命周期

二、Zuul的使用

1 创建工程

 选择Config Client

选择Eureka Discovery

选择Zuul

 最后,点击完成

2、增加配置

bootstrap.xml 文件

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/
spring:
  application:
      name: api-gateway
  cloud:
    config:
      discovery:
        enabled: true
        service-id: CONFIG
      profile: dev

3、启动后查看Erueka

已经多了一个API-GATEWAY

4、增加EnableZuulProxy注解

5、增加访问API-Gateway的时候,路由到Product服务下的list商品列表接口,如下图

访问API-Gateway。 

第一个product代表eureka下的Application的名称

调用Post接口,如下图

6、自定义路由

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/
spring:
  application:
      name: api-gateway
  cloud:
    config:
      discovery:
        enabled: true
        service-id: CONFIG
      profile: dev
zuul:
  routes:
    myProduct:
      path: /myProduct/**
      serviceId: product

  测试

7、排除某些路由

zuul:
  routes:
   #/myProduct/product/list -> /product/product/list
    #myProduct:
    #  path: /myProduct/**
    #  serviceId: product
   #简洁写法
    product: /myProduct/**
  ignored-patterns:
   - /product/product/listForOrder
   - /myProduct/product/listForOrder

  效果如下图

两个配置改成一个通配符

9.设置Cookie可传递

三、典型应用场景

1、前置(Pre)

限流  鉴权 参数校验调整

2、后置(Post)

统计  日志

原文地址:https://www.cnblogs.com/linlf03/p/10387832.html