特性
基于 Spring Framework 5, Project Reactor 和 Spring Boot 2.0 进行构建
易于编写的 Predicate (断言)和 Filter (过滤器)
动态路由能够匹配任何请求属性
集成 Hystrix 的断路器功能
集成 Spring Cloud 服务发现功能
可以对路由指定断言和过滤器
支持请求限流功能
支持路径重写
三大核心
路由Route
路由是构建网关的基本模块,它由ID、目标URI、一系列的断言和过滤器组成
过滤器Filter
使用过滤器,可以在请求被路由前或者之后对请求进行修改
断言Predicate
开发人员可以匹配 HTTP 请求中的所有内容(例如请求头或请求参数),如果请求与断言相匹配则进行路由
路由 (Route) = 断言(Prediate) + 过滤器 (Eilter)
为什么引入网关
微服务中需要在客户端和服务端之间加一个统一的入口,而在微服务的体系中,承担这个角色的就是网关
常见微服务网关
Nginx: Nginx由内核和模块组成,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件与客户端请求进行 URL 匹配,用于启动不同的模块去完成相应的工作。
Spring Cloud GetWay: