将工作项目的版本更改为 java 17 导致需要将 spring-cloud-starter-openfeign 增加到 3.0.6(2020.0.0 Spring Cloud 发布系列的一部分)。由于 Spring Cloud Netflix Ribbon 已被弃用并且不包含在 2020.0.0 发布系列中,因此我必须在我的项目中进行一些更改并切换到使用 Spring Cloud LoadBalancer。
看了一些文章后,我得到了以下理解: Feign 是使用 Ribbon 作为 LoadBalancer 的。功能区在属性文件中配置,其中包含所有应用程序客户端的不同主机列表。
我的问题是:
- 我应该如何使用 Spring Cloud LoadBalancer,因为我没有为我找到任何易于理解的示例?
- 由于我使用的是 SpringCloudOpenFeign 3.0.6,哪一个是合适的 spring-cloud-starter-loadbalancer 版本?我曾尝试使用 3.0.5(但 在创建 bean 期间出现意外异常;嵌套异常是 java.lang.IllegalArgumentException:@FeignClient 接口上不允许使用 @RequestMapping 注释)和 3.1.0(我得到 java.lang. ClassNotFoundException:org.springframework.cloud.client.loadbalancer.LoadBalancerClientsProperties ); 在谷歌上没有找到任何错误的相关信息