我一直使用spring-clound-openfeignConsul 作为服务注册表,使用 Ribbon 作为负载均衡器。我目前正在使用 spring-boot 2.3.10.RELEASE。
我真的很喜欢 spring-cloud-feign-inheritance 支持,据我了解,它允许我编写服务器端和客户端使用的单个接口。
从 spring-boot2.4.x开始,spring 团队建议将 Ribbon 替换为spring-clould-loadbanced作为替代品,因为 Ribbon 不再被维护。
如果我有一个界面可以说:
interface Greeting {
@GetMapping
String hello(String name);
}
Run Code Online (Sandbox Code Playgroud)
通过使用 Spring Openfeign + Ribbon + Consul,我可以将其扩展为:
@FeignClient(name="my-service-id")
interface GreetingClient extends Greeting { }
Run Code Online (Sandbox Code Playgroud)
这样我就可以实现具有负载平衡功能的客户端实现。
spring-cloud-openfeign我仍然可以实现与使用 API相同的结果吗spring-clould-loadbalancer?或者我确实需要使用RestTemplateAPIDiscoveryClient的客户端吗?
对此的全面了解将受到高度赞赏,因为我在其他地方找不到合理的答案。