zoukankan      html  css  js  c++  java
  • Spring Cloud入门 (5)

    1、Zuul介绍

    Zuul是Netflix开源的微服务网关,它可以和Eureka、Ribbon、Hystrix等组件配合使用。Zuul的核心是一系列的过滤器

    2、路由配置

    1)简单路由

        处理简单路由的过滤器为 SimpleHostRoutingFilter

        tips:要触发简单路由,需要配置的url 的值以 http: 或者 https: 开头

    - 使用 path 和 url:

    zuul:
      routes:
        routeTest:  # 路由的Id,随便起就行
          path: /routeTest/163
          url: http://www.163.com

    以上配置访问 http://{ip}:{port}/routeTest/163 就会跳转到163网站

    - 默认情况下使用 routeId 作为 path , 以下省略了 path 配置:

    zuul:
      routes:
        route163:
          url: http://www.163.com

    以上配置访问 http://{ip}:{port}/route163 就会跳转到163网站

    2)跳转路由

        处理跳转路由的过滤器为 SendForwardFilter

    zuul:
      routes:
        helloRoute:
          path: /test/**
          url: forward:/source/hello

    访问 http://{ip}:{port}/test/jack 会跳转到路由 http://{ip}:{port}/source/hello/jack

    3) Ribbon 路由

       通过配置 serviceId 将请求转发到集群服务中

    zuul:
      routes:
        sale: # 路由 id ,自己随便定义即可
          serviceId: zuul-sale-service
          path: /sale/**

    当访问 http://{ip}:{port}/sale/sale-book/22 相当于向 Ribbon 发出 http://zuul-sale-service/sale-book/22

    - 默认情况下,使用 routeId 作为 serviceId ,所以上面配置等同于:

    zuul:
      routes:
        zuul-sale-service:
          path: /sale/**

    注意:

    简单路由,如果 url 的值不是以 http: 或者 https: 开头,并且不以 forward: 开头,那么将会执行 Ribbon 路由过滤器,将 url 看作是一个 serviceId

    所以,上述配置又等价于:

    zuul:
      routes:
        sale:
          url: zuul-sale-service
          path: /sale/**

    3、忽略某些路径

    我们想让Zuul代理某个微服务,同时又想保护该微服务的某些敏感路径。此时,可使用ignoredPatterns,指定忽略的正则。

    zuul:
      ignoredPatterns: /**/admin/**   # 忽略所有包含/admin/的路径
      routes:
        provider-user: /user/**
  • 相关阅读:
    shell编程之 ()[] {}
    mysql环境搭建
    CSS布局基础——BFC
    Java线程
    chrome developer tool—— 断点调试篇
    JavaScript技巧[转载]
    如何在github中创建演示demo
    rem在响应式布局中的应用
    javascript模块化
    浏览器客户端的数据存储
  • 原文地址:https://www.cnblogs.com/lkc9/p/11577299.html
Copyright © 2011-2022 走看看