1,配置文件
#由于feign中已经集成rebbion和hystrix,所以可以不用额外引入包
ribbon:
ConnectTimeout: 1000 #连接超时时长
ReadTimeout: 2000 #数据通信时长
MaxAutoRetries: 0 #当前服务重试次数
MaxAutoRetriesNextServer: 0 #重试多少次服务
OkToRetryOnAllOperations: false #是否对所有的请求方式都重试
feign:
hystrix:
enabled: true #开启feign中的hystrix
compression:
request:
enabled: true #开启请求压缩
mime-types: text/html,application/xml,application/json #设置压缩的数据类型
min-request-size: 256 # 设置触发压缩的大小下限
response:
enabled: true
2,fallback
import com.wayne.feign.UserClient;
import com.wayne.pojo.User;
import org.springframework.stereotype.Component;
@Component
public class UserClientFallback implements UserClient {
@Override
public User queryById(Long id) {
User user = new User();
user.setId(id);
user.setName("用户异常");
return user;
}
}
3,userClient
@FeignClient(value = "user-service",fallback = UserClientFallback.class)//声明当前类是一个Feign客户端,指定服务为 user-service
public interface UserClient {
@GetMapping("/user/{id}")
User queryById(@PathVariable Long id);
}