1.Feign实际上就是robbon的二次封装,并且通过轮询实现了客户端的负载均衡。而与ribbon不同的是,通过feign只需要定义服务绑定接口且以声明式方法,优雅而简单的实现了服务调用
2.具体使用:
1.在消费端加入依赖:
spring-cloud-starter-openfeign
2.在启动类加上EnableFeignclients注解
3.书写远程调用接口,加上comment注解,以加入spring容器中,再通过Feighclient调用具体的的eureka注册服务名,即可实现远程调用
只需要在需要 使用定义接口的地方引入该接口,通过实例方法即可获取远程接口的返回值和参数,如果远程调用的服务是集群,可以实现负载均衡,feign自带轮询负载均衡
feign超时控制
假如远程调用的服务长时间不能相应,页面就会超时报错,openfeign默认一秒,没有得到返回值就会超时报错,这显然不合适,假如响应时间较长就会报错,应该得到完善,在消费端的feign中设置时间变长点
即可实现连接超时时间设置