Feign简介
Feign集成示例
Feign的初始化
Feign与Hystrix集成
Feign使用
- 项目依赖 Web、Actuator、Hystrix、Feign、Eureka
- 在启动类头添加注解
@EnableFeignClients
全部使用
或@EnableFeignClients(basePackages = “com.study.*” , defaultConfiguration = “Foo.class”) 部分使用
- 配置修改
server:
port: 8005
spring:
application:
name: feign-demo
eureka:
client:
service-url:
defaultZone : http://127.0.0.1:10000/eureka/
feign:
hystrix:
enabled: true
hystrix:
command:
default:
execution:
isolation:
thread :
timeoutInMilliseconds: 100
- 定义接口,在接口添加注解
@Component
@FeignClient(name="helloserver",fallback = HelloDemoFallback.class)
public interface HelloDemoService {
}
Feign调用流程
首先,扫描到我们自己写的@FeignClient注解,通过每个注解修饰的一个class去创建一个动态代理,当我们发起调用的时候,他就会帮我们生成一个相应的动态代理对象,通过这个对象去发起http请求到服务提供者