服务网关和Zuul
为什么需要网关服务
当前起了十几个微服务,比如订单、广告、商品、支付、用户等等,那么客户端要怎么调用呢?和每个服务一个一个打交道?那显然是不现实的。肯定是需要一个角色来充当request请求的统一入口,充当这个角色的就是服务网关。一旦有了服务网关,所有请求都通过它。
服务网关的要素
- 稳定性,高可用
- 性能、并发性
- 安全性
- 扩展性
常用的网关方案
网关并不是微服务出来后的新鲜事务
-
Nginx + Lua
-
Kong
-
Tyk
-
Spring Cloud Zuul
认证、鉴权、限流、动态路由、监控、弹性安全负载均衡、协助单点压测、静态响应等边缘服务的框架。快速上手。
Zuul的特点
- 路由+过滤器 = Zuul
- 核心就是一系列的过滤器
Zuul的四种过滤器API
-
前置(Pre)
参数校验:可以在请求之前校验参数,如:每个请求必须携带token,否则报401
限流:
鉴权:
-
路由(Route)
-
后置(Post)
为响应添加信息,如:给响应添加header。
-
错误(Error)
请求生命周期
Zuul的高可用
- 多个Zuul节点注册到Eureka Server
- Nginx和Zuul “混搭”



浙公网安备 33010602011771号