yangyang12138

导航

zuul

1.概述

  是netflix开源的一个API Gateway 服务器, 本质上是一个web servlet应用。在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门。

2.过滤器

  

 

  

  Zuul大部分功能都是通过过滤器来实现的。Zuul中定义了四种标准过滤器类型,这些过滤器类型对应于请求的典型生命周期。

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

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

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

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

3.配置

  重写指定微服务的访问路径,这表示将rest-demo微服务的地址映射到/rest/**路径。

    

zuul:
  routes:
    test-demo: /test/**

  忽略指定微服务

zuul:
  ignored-services: rest-demo,xxx-service

  忽略所有微服务,只路由指定微服务

 

zuul:
  ignored-services: *
  routes:
    rest-demo: /rest/**

  指定path和URL

zuul:
  routes:
    route-name:
      url: http://localhost:8000/
      path: /rest/**

  即指定path和URL,又保留Zuul的Hystrix、Ribbon特性

zuul:
  routes:
    route-name: #路由别名,无其他意义,与例1效果一致
      service-id: rest-demo
      path: /rest/**
ribbon:
  eureka:
    enable: false #为Ribbon禁用Eureka
rest-demo:
  ribbon:
    listOfServers: localhost:9000,localhost:9001

 

posted on 2020-06-27 02:21  杨杨09265  阅读(100)  评论(0编辑  收藏  举报