小编Fla*_*iva的帖子

Spring Cloud 负载均衡和 Feign 客户端

我一直使用spring-clound-openfeignConsul 作为服务注册表,使用 Ribbon 作为负载均衡器。我目前正在使用 spring-boot 2.3.10.RELEASE。

我真的很喜欢 spring-cloud-feign-inheritance 支持,据我了解,它允许我编写服务器端和客户端使用的单个接口。

https://cloud.spring.io/spring-cloud-netflix/multi/multi_spring-cloud-feign.html#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的客户端吗?

对此的全面了解将受到高度赞赏,因为我在其他地方找不到合理的答案。

java spring load-balancing spring-boot

5
推荐指数
1
解决办法
5191
查看次数

标签 统计

java ×1

load-balancing ×1

spring ×1

spring-boot ×1