Zuul 是分布式 springcloud 项目的流量入口,理论上所有进入到微服务系统的请求都要经过 zuul 来过滤和路由。

1、zuul 服务网关的搭建

Jar 包导入
SpringCloud - zuul网关系统
启动类加注解
SpringCloud - zuul网关系统

2、配置详解

配置拦截的 url 和该 url 路由的服务
SpringCloud - zuul网关系统
配置敏感请求头过滤
SpringCloud - zuul网关系统
Zuul 跳转到指定地址
SpringCloud - zuul网关系统

3、路由动态刷新

路由动态刷新其实就是分布式配置中心的思路,就是路由配置规则我们可以在项目启动后, 通过修改远程 GitHub 上的配置,让配置在运行时生效,不需要重启机器。所以就需要加入 配置中心的配置。
配置中心客户端 jar
SpringCloud - zuul网关系统
配置信息
SpringCloud - zuul网关系统
配置动态刷新类
SpringCloud - zuul网关系统
获取路由规则的接口 http://localhost:7070/actuator/routes
SpringCloud - zuul网关系统

4、zuul 过滤器

Zuul 大部分功能都是通过过滤器来实现的,Zuul 定义了 4 种标准的过滤器类型,这些过滤器 类型对应于请求的典型生命周期。
a、pre: 这种过滤器在请求被路由之前调用。可利用这种过滤器实现身份验证、在集群中选 择请求的微服务,记录调试信息等。
b、routing: 这种过滤器将请求路由到微服务。这种过滤器用于构建发送给微服务的请求,并 使用 apache httpclient 或 netflix ribbon 请求微服务。
c、post: 这种过滤器在路由到微服务以后执行。这种过滤器可用来为响应添加标准的 http header、收集统计信息和指标、将响应从微服务发送给客户端等。
e、error: 在其他阶段发送错误时执行该过滤器。
SpringCloud - zuul网关系统

相关文章: