0 课程地址
https://coding.imooc.com/lesson/380.html#mid=28569
1 浓缩精华
2 个人关注
3 课程内容
Zuul 的介绍
在介绍 Zuul 可以提供的功能之前,先考虑一个问题:微服务系统中往往包含很多个功能不同的子系统或微服务,那么,外部应用怎样去访问各种各样的微服务呢?这也是 Zuul 所要解决的一个主要问题。
在微服务架构中,后端服务往往不直接开放给调用端,而是通过一个服务网关根据请求的url,路由到相应的服务,即实现请求转发,效果如下图所示。
Zuul 提供了服务网关的功能,可以实现负载均衡、反向代理、动态路由、请求转发等功能。Zuul 大部分功能都是通过过滤器实现的,Zuul 中定义了四种标准的过滤器类型,同时,还支持自定义过滤器(课程中实现了两个自定义过滤器,用来记录访问延迟)。这些过滤器的类型也对应于请求的典型生命周期,如下图所示。
- pre:在请求被路由之前调用
- route:在路由请求时被调用
- post:在 route 和 error 过滤器之后被调用
- error:处理请求时发生错误时被调用