服务网关和Zuul

为什么需要网关服务

 当前起了十几个微服务,比如订单、广告、商品、支付、用户等等,那么客户端要怎么调用呢?和每个服务一个一个打交道?那显然是不现实的。肯定是需要一个角色来充当request请求的统一入口,充当这个角色的就是服务网关。一旦有了服务网关,所有请求都通过它。

服务网关的要素

  • 稳定性,高可用
  • 性能、并发性
  • 安全性
  • 扩展性

常用的网关方案

网关并不是微服务出来后的新鲜事务

  • Nginx + Lua

  • Kong

  • Tyk

  • Spring Cloud Zuul

认证、鉴权、限流、动态路由、监控、弹性安全负载均衡、协助单点压测、静态响应等边缘服务的框架。快速上手。

Zuul的特点

  • 路由+过滤器 = Zuul
  • 核心就是一系列的过滤器

Zuul的四种过滤器API

  • 前置(Pre)

    参数校验:可以在请求之前校验参数,如:每个请求必须携带token,否则报401

    限流:

    鉴权:

  • 路由(Route)

  • 后置(Post)

    为响应添加信息,如:给响应添加header。

  • 错误(Error)

DPECdJ.png

请求生命周期

DPEARx.png

Zuul的高可用

  • 多个Zuul节点注册到Eureka Server
  • Nginx和Zuul “混搭”
posted @ 2020-11-14 19:03  天道酬勤1112  阅读(59)  评论(0)    收藏  举报