spring cloud gateway基础

spring cloud gateway基础

spring cloud gateway(后续简称SCG)本身就是spring cloud体系的一员,在对于java技术栈的系统使用起来比较方便,此外,SCG扩展性比较好,适合作为业务网关的基础、根据自身需求进行二次开发。

关键组成部分

  • 谓词 predicate: 将请求匹配到对应的route上
  • 路由 route: 网关的基本构建块。它由ID,目标URI,谓词集合和过滤器集合定义
  • 过滤器 filter: 由特定工厂构造生成

工作过程

    1. SCG接收客户端请求。
    1. 请求与谓词匹配,获得对应的路由,匹配成功后,继续往下执行。
    1. 请求交给前置filter处理
    1. 请求经过代理服务(类似与RPC),发送给目标URI
    1. 响应交给后置filter处理
    1. SCG将响应返回给客户端

应用场景

  • 灰度发布

    • 可以使用Weight Route Predicate实现
  • 请求限流

  • 服务容错

    • 结合Sentinel或是Hystrix,基于令牌桶算法

其他

  • 监控

  • 故障排查

    • 通过日志
    • Wiretap

参考资料