微服务-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作为默认的网关组件。

原文地址:https://www.cnblogs.com/masting/p/12826895.html