什么是Spring Cloud Gateway?
Spring Cloud Gateway就是提供了一个用于在Spring WebFlux之上构建API网关的库。Spring Cloud Gateway旨在提供一种简单而有效的方法来路由到API,并为它们提供跨领域关注,例如:安全性,监视/指标和弹性。
特征
Spring Cloud Gateway功能:
1.建立在Spring Framework 5,Project Reactor和Spring Boot 2.0之上
2.能够匹配任何请求属性上的路由。
3.谓词和过滤器特定于路由。
4.断路器集成。
5.Spring Cloud DiscoveryClient集成
6.易于编写的谓词和过滤器
7.请求速率限制
8.路径改写
什么zuul?
zuul 是netflix开源的一个API Gateway 服务器, 本质上是一个web servlet应用。
Zuul底层利用各种filter实现如下功能:
1.认证和安全 识别每个需要认证的资源,拒绝不符合要求的请求。
2.性能监测 在服务边界追踪并统计数据,提供精确的生产视图。
3.动态路由 根据需要将请求动态路由到后端集群。
4.压力测试 逐渐增加对集群的流量以了解其性能。
5.负载卸载 预先为每种类型的请求分配容量,当请求超过容量时自动丢弃。
6.静态资源处理 直接在边界返回某些响应。
两者区别:
两者均是web网关,处理的是http请求,
gateway对比zuul多依赖了spring-webflux,在spring的支持下,功能更强大,内部实现了限流、负载均衡等,扩展性也更强,但同时也限制了仅适合于Spring Cloud套件,而zuul则可以扩展至其他微服务框架中,其内部没有实现限流、负载均衡等
gateway很好的支持异步,而zuul仅支持同步。