Feign

什么是Feign?

Feign被集成到SpringCloud Netflix模块,当Eureka,Ribbon集成的时候呢,Feign就具备了负载均衡的功能。Feign本身使用就很简便,再加上与SpringCloud的整合,将很大程度上降低了我们开发的工作量。

它是Github上面的一个开源项目,目的是为了简化WebService客户端的开发,在使用Feign的时候 可以使用注解来修饰接口,被修饰的接口就具有了访问webservice的能力,这些注解呢 可以使用Feign的自带注解,也可以支持使用第三方的注解。Feign还支持插件式的编码器和解码器,使用者可以通过这些特性,对请求和响应进行封装和解析。

总之Feign是一个客户端,Feign可以使用注解来修饰接口,被修饰的接口就有访问WebService的能力。

例如:@FeignClient。

Spring Cloud Feign 之 Fallback

环境信息: java 1.8、Spring boot 1.5.10.RELEASE、spring cloud-Edgware.SR3、maven 3.3+

在网络请求时,可能会出现异常请求,如果还想在异常情况下使系统可用,那么就需要容错处理,比如:网络请求超时时给用户提示"Server error"请稍后重试。

Spring Cloud Feign 就是通过Fallback实现的,有两种方式:

1、在Feign接口层上方标注@FeignClient(value = "zookeeper-server",fallback = FeignFallback.class),并且指定一个实现Feign接口的实现类。

2、在Feign接口上方标注@FeignClient.fallbackFactory = UserFeignFactory.class指定一个实现FallbackFactory<T>工厂接口类。(配合1使用,可以获取HTTP请求错误状态码和信息)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容