6.Feign远程调用工具
接着上一篇搭建springCloud框架,Feign作为springCloud框架中的一个组件,而不是一个服务。添加位置:服务消费方。
6.1 首先添加依赖:(pom工程,版本在父工程中已经设置。)
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
6.2 添加注解
在服务消费方的启动类CosumerApplication上添加@EnableFeignClients注解。Feign组件中包含了熔断器Hystrix(circuitBreaker)和负载均衡Ribbon器。
6.3 添加配置
同样在服务消费方的配置文件application.yml中。需要添加的不多,可以添加一下Feign的熔断功能:
feign:
hystrix:
enabled: true #开启feign的熔断功能
#Feign的请求压缩,响应压缩设置
compression:
request:
enabled: true #开启请求压缩
mime-trpes: text/html, application/xml, application/json #设置会被压缩的数据类型
min-request-size: 2048 #设置触发压缩的大小下限
response:
enabled: true #开启响应压缩
6.4 使用Feign的熔断器
@GetMapping("{id}")
@HystrixCommand(commandProperties = {
//几个请求失败后熔断器打开
@HystrixProperty(name = "circuitBreaker.requestVolumeThreshold", value = "20"),
//熔断器打开几毫秒后半打开