zoukankan      html  css  js  c++  java
  • 微服务-SpringCloud学习系列(六): 服务网关Zuul

    1.为什么需要服务网关

    ①客户端可能会调用多个微服务,路径维护麻烦,主要是host和port

    ②存在跨域问题

    ③统一身份认证

    为了解决上述问题引入微服务网关的概念。可以了解Nginx的作为网关的使用配置(不能够解决统一身份认证的问题)

     2.Zuul的使用

    ①创建网关服务,引入依赖

     ②配置启动类

     ③路由配置

     面向服务的路由配置,添加注册中心客户端的配置(包括引入依赖,添加启动类配置,application.yml配置)

     简化的路由配置

     3.Zuul的过滤器

     上图有助于理解Zuul和注册中心在微服务中的作用的区别:Zuul所有微服务针对外部客户端的统一路由,注册中心是管理内部所有微服务的通讯录。

     

     ①自定义过滤器需要继承ZuulFilter,并交由Spring管理@Component.

     

     包括:

    a.指定过滤器类型filterType(四种类型pre,routing,post,error)

    b.指定过滤器的执行顺序filterOrder(值越小越先执行)

    c.过滤器是否生效,shouldFilter(true使用此过滤器)

    d.过滤器执行的逻辑run()

    ②身份认证过滤器

     4.Zuul网关的源码简析

      5.总结

    学习网关的作用,zuul的使用配置,自定义zuulFilter

    Zuul的缺点:阻塞式访问的方式如果阻塞过多容易引起资源不足,不支持WebSocket(大多数客户端使用WebSocket实现丰富的效果)。

    虽然Zuul2.0解决了上述问题,但是SpringCloud已将Zuul替换成了SpirngCloud GateWay作为默认的网关组件。

  • 相关阅读:
    BZOJ1316——树上的询问(点分治)
    BZOJ2152——聪聪可可(点分治)
    POJ1741(点分治)
    POJ2104——K-th Number (主席树模板)
    USACO Training Section 5.1 Fencing the Cows 圈奶牛(凸包)
    POJ1269(直线之间的关系)
    NOIP2016——换教室(floyd+期望dp)
    POJ2187(旋转卡壳)
    POJ3348——Cows(求凸包)
    ZOJ1081(射线法判断点是否在多边形内部)
  • 原文地址:https://www.cnblogs.com/masting/p/12826895.html
Copyright © 2011-2022 走看看