Spring Boot 2.4.2 网关 API 与 Zuul

Posted

技术标签:

【中文标题】Spring Boot 2.4.2 网关 API 与 Zuul【英文标题】:Spring Boot 2.4.2 Gateway API with Zuul 【发布时间】:2021-05-01 13:54:57 【问题描述】:

我正在尝试使用新的 Spring Boot Starter Parent 2.4.2 构建网关 API,但由于某种原因,spring-cloud-starter-netflix-zuul 似乎不再受支持并且不适用于新版本!有替代品吗?

【问题讨论】:

【参考方案1】:

来自Spring blog:

Zuul 1 和 Archaius 1 都已被不向后兼容的更高版本取代。

以下 Spring Cloud Netflix 模块和相应的启动器将进入维护模式:

spring-cloud-netflix-archaius spring-cloud-netflix-hystrix-contract spring-cloud-netflix-hystrix-dashboard spring-cloud-netflix-hystrix-stream spring-cloud-netflix-hystrix spring-cloud-netflix-ribbon spring-cloud-netflix-turbine-stream spring-cloud-netflix-turbine spring-cloud-netflix-zuul

替换

我们建议使用以下模块替代这些模块提供的功能。

Current Replacement
Hystrix Resilience4j
Hystrix Dashboard / Turbine Micrometer + Monitoring System
Ribbon Spring Cloud Loadbalancer
Zuul 1 Spring Cloud Gateway
Archaius 1 Spring Boot external config + Spring Cloud Config

所以你需要迁移到 Spring Cloud Gateway。

【讨论】:

酷!你知道我在哪里可以找到有关如何实现这些新依赖项的示例吗? (对不起我的英语不好) @AlfredoMarin 这是 Spring Cloud Gateway 的一个:spring.io/guides/gs/gateway - google 也可能会为其他人找到你。 对我来说,这意味着暂时使用 spring-boot 2.3.x。迁移到 spring-cloud-gateway 并非易事。

以上是关于Spring Boot 2.4.2 网关 API 与 Zuul的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot 2.5.6 API 网关 + Eureka Server = 404

在 Spring Boot 应用程序中使用 API 网关时,HATEOAS 路径无效

如何在 Spring Boot 应用程序中从 Api 网关(Zuul)调用外部服务(非 MSA)

Spring Boot + Spring Cloud 构建微服务系统:API服务网关(Zuul)

Spring Boot - 模拟对外部 API 的 POST REST 请求

使用 Spring Boot 的 gRPC 和 REST 微服务