openfeign默认不再使用ribbon
时间: 2023-10-06 20:08:51 浏览: 144
是的,从Feign 10.0开始,默认情况下不再使用Ribbon作为其负载均衡器。相反,它使用了Spring Cloud LoadBalancer。使用Spring Cloud LoadBalancer使得Feign更加轻便,并提供了更好的性能和可扩展性。如果您需要使用Ribbon,您可以在配置文件中将`feign.ribbon.enabled`设置为`true`。
相关问题
本的openfeign取消了内置ribbon,2021版本以后的可以使用loadbalancer1.服务基础配置、依赖包
OpenFeign是一个轻量级的HTTP客户端库,它最初是Netflix Ribbon的一部分,用于简化微服务之间的API调用。然而,在2021年之后的版本中,OpenFeign确实去除了对Ribbon的直接依赖,并引入了自己的负载均衡功能。
服务基础配置方面,当你使用OpenFeign时,通常需要做以下设置:
1. **添加依赖**:在你的Maven或Gradle构建文件中,你需要添加OpenFeign及其支持的LoadBalancer的依赖。例如,对于Spring Boot项目,你可以添加如下依赖:
```xml
<!-- Maven -->
<dependency>
<groupId>io.github.openfeign</groupId>
<artifactId>spring-web-feign</artifactId>
</dependency>
<!-- Gradle -->
implementation 'io.github.openfeign:spring-web-feign'
```
2. **配置FeignClient注解**:通过`@FeignClient`注解,指定你要访问的服务名以及默认的基础URL。还可以配置超时时间、全局拦截器等选项:
```java
@FeignClient(name = "myApiService", url = "${api.service.url}")
public interface ApiService {
@GetMapping("/users")
List<User> getUsers();
}
```
3. **启用自动注册**:如果你使用的是Spring Cloud Netflix,OpenFeign会自动发现并注册服务到Eureka或其他服务发现工具。
至于LoadBalancer的具体配置,OpenFeign使用了Netflix的Hystrix(现在叫CircuitBreaker)来进行熔断处理,同时支持Ribbon(作为负载均衡器)或者OkHttp(更现代的选择)。如果想要自定义负载均衡策略,可以在创建`Feign.Builder`实例时提供一个实现了`LoadBalancer`接口的实例。
openfeign取消ribbon
OpenFeign 是一个声明式的 HTTP 客户端,它简化了使用 HTTP 服务的代码。在使用 OpenFeign 的时候,我们可以通过注解的方式,定义接口的方法,然后直接调用接口方法即可。OpenFeign 默认使用 Ribbon 作为负载均衡器,但是也可以通过配置来取消 Ribbon 的使用。
要取消 Ribbon 的使用,可以在配置文件中设置 `feign.ribbon.enabled=false`。这样,OpenFeign 就不会再使用 Ribbon 作为负载均衡器了。另外,如果需要使用其他的负载均衡器,也可以通过配置来指定。例如,可以使用 Spring Cloud LoadBalancer 来替代 Ribbon。
需要注意的是,取消 Ribbon 的使用可能会影响服务发现和负载均衡的功能。如果取消了 Ribbon,需要确保使用了其他的负载均衡器或者手动指定了服务的 URL。
阅读全文