可以设置 Spring Boot 2.6 和 Spring Cloud 2021.x 以将 Ribbon 和 Hystrix 与 Spring WebClient 和 Feign 一起使用吗?
Can one setup Spring Boot 2.6 and Spring Cloud 2021.x to use Ribbon and Hystrix with Spring WebClient and Feign?
我知道 Spring Cloud 在某些版本(3.0?)中放弃了对某些 Netflix 库(如 Ribbon 或 Hystrix)的直接支持。现在,我正在尝试在生产环境中顺利迁移大约 20 个微服务 运行,并使用一些自定义代码扩展 Ribbon(和 Hystrix,程度较低)。主要目标是从 Spring Boot 2.3 升级到 2.6。因此,我需要将 Spring Cloud 升级到 3.1.x,对吗?
我的猜测是继续进行两步升级以避免一次大迁移:
- 升级到 Spring Boot 2.6 和 Spring Cloud 3.1,同时仍然使用 Ribbon 和 Hystrix
- 在旧代码的丛林中开辟一条道路,并以较小的增量摆脱 Ribbon 和 Hystrix。
然而,为了实现这一点,我正在尝试同时使用 Spring Boot 2.6、Spring Cloud 以及发布版本 2021.01 和 2 个来自旧 Spring Cloud 的选定启动器(最新版本这些工件):
spring-cloud-starter-netflix-hystrix 2.2.10.RELEASE
spring-cloud-starter-netflix-ribbon 2.2.10.RELEASE
这可能吗? 我们大量使用 Feign 和 Spring WebClient - 客户端负载平衡必须适用于这些。到目前为止,我发现 Feign 客户端不会自动与 Ribbon 集成。
@spencergibb @OlgaMaciaszek - 特别指望你。
在通过其他方式收到 Spring Cloud 团队的确认后回答我自己的问题:尝试将 Ribbon 与 Spring Cloud 2021.01 一起使用是个坏主意,它需要让它工作真的很辛苦。
简短的回答是:“不”。
我知道 Spring Cloud 在某些版本(3.0?)中放弃了对某些 Netflix 库(如 Ribbon 或 Hystrix)的直接支持。现在,我正在尝试在生产环境中顺利迁移大约 20 个微服务 运行,并使用一些自定义代码扩展 Ribbon(和 Hystrix,程度较低)。主要目标是从 Spring Boot 2.3 升级到 2.6。因此,我需要将 Spring Cloud 升级到 3.1.x,对吗?
我的猜测是继续进行两步升级以避免一次大迁移:
- 升级到 Spring Boot 2.6 和 Spring Cloud 3.1,同时仍然使用 Ribbon 和 Hystrix
- 在旧代码的丛林中开辟一条道路,并以较小的增量摆脱 Ribbon 和 Hystrix。
然而,为了实现这一点,我正在尝试同时使用 Spring Boot 2.6、Spring Cloud 以及发布版本 2021.01 和 2 个来自旧 Spring Cloud 的选定启动器(最新版本这些工件):
spring-cloud-starter-netflix-hystrix 2.2.10.RELEASE
spring-cloud-starter-netflix-ribbon 2.2.10.RELEASE
这可能吗? 我们大量使用 Feign 和 Spring WebClient - 客户端负载平衡必须适用于这些。到目前为止,我发现 Feign 客户端不会自动与 Ribbon 集成。
@spencergibb @OlgaMaciaszek - 特别指望你。
在通过其他方式收到 Spring Cloud 团队的确认后回答我自己的问题:尝试将 Ribbon 与 Spring Cloud 2021.01 一起使用是个坏主意,它需要让它工作真的很辛苦。
简短的回答是:“不”。