你项目里为什么选择 Gateway 作为网关?

Sherwin.Wei Lv7

你项目里为什么选择 Gateway 作为网关?

回答重点

选择 Spring Cloud Gateway 的原因主要有两个:

1)以前用得比较多的是 Spring Cloud 官方开源的 Zuul,其用得比较多的还是 1.0 的版本,不过 1.0 版本 Netflix 很早就宣布进入维护状态了,虽然 Zuul 已经出了 2.0 版本,但是 Spring Cloud 官方团队好像没有整合的计划,并且 Netflix 很多相关的组件,如 Eureka、Hystrix 都已经进入维护期了,所以不知道前景如何。然后 Spring Cloud 官方自己研发了 Spring Cloud Gateway,并且大力支持和推荐,所以相比与 Zuul,Gateway 是一个更好的选择。

2)Spring Cloud Gateway 有很多的特性:

  • 基于 Spring 5 和 Spring Boot 2 进行构建,与 Spring 生态兼容较好
  • 动态路由:可以根据配置条件,如 URL、请求方法等实现动态配置
  • 可以对路由指定断言(Predicate)和过滤器(Filter)
  • 集成 Hystrix 断路器功能,可以实现服务熔断
  • 集成 Spring Cloud 相关组件,如 Eureka、Nacos、Consule 等实现服务的注册与发现
  • 内置了限流模块,可以根据配置实现服务限流

扩展知识

Comments
On this page
你项目里为什么选择 Gateway 作为网关?