Openfeign
Openfeign是什么
Feign是一个声明式WebService喀户端。 使用Feign能让编写Web Service客户端更加简单。它的使用方法是定义一个服务接口然后在 上面添加注解。Feign支持可拔插式的编码器和解码器。Spring Cloud对Feign进行了封装,使其支持了Spring MVC标准注解和HttpMessageConverters. Feign可以与Eureka和Ribbon组合使用以支持负载均衡
pom倒包
spring-cloud-stater-openfeign
注解
@Component
@Feignclient(value=".....")//调用注册的服务接口 eurake/zookeeper/consul等
public interface PaymentFeignService {
@GetMapping(value="payment/get/id")
public String dopay(@Pathvarible("id") Long id);
}
取代原有
@Configuration
@Bean
public RestTemplate getRestTemplate() {
return new RestTemplate();
}
OpenFeign超时等待
OpenFeign默认等待一秒钟超时会导致超时问题。
天生带着Ribbon,由Ribbon管控超时时间。
yml配置
ribbon:
ReadTimeout:5000 #建立连接时间
ConnectTimeout:5000 #读取时间连接
Openfeign日志打印功能
四种类型
NONE:默认,不显示任何日志;
BASIC:仅仅记录请求方法、URL、响应状态码和执行时间;
HEADERS:除了BASIC中定义的信息之外、还有请求和响应的头信息;
FULL:除了HEADERS中定义的信息之外、还有请求和响应的正文和元数据。
第1步骤
@Configuration
public class FeignConfig {
@Bean
Logger.Level feignLoggerLevel() {
return Logger.Level.FULL;
}
}
第2步
yml:
logging:
level:
#feign日志监控哪一个借口
..........借口地址:debug #以什么形式监控