Spring Cloud gateway基础
Spring Cloud Gateway(后续简称 SCG)本身就是 Spring Cloud 体系的一员,对于 Java 技术栈的系统来说使用起来比较方便。此外,SCG 扩展性较好,适合作为 业务网关 的基础,并可根据自身需求进行二次开发。
关键组成部分
- 谓词 predicate: 将请求匹配到对应的route上
- 路由 route: 网关的基本构建块。它由ID,目标URI,谓词集合和过滤器集合定义
- 过滤器 filter: 由特定工厂构造生成

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

应用场景
灰度发布
- 可以使用Weight Route Predicate实现
请求限流
服务容错
- 结合Sentinel或是Hystrix,基于令牌桶算法
其他
监控
故障排查
- 通过日志
- Wiretap