本的openfeign取消了内置ribbon,2021版本以后的可以使用loadbalancer1.服务基础配置、依赖包
时间: 2024-10-11 08:18:13 浏览: 26
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`接口的实例。
阅读全文