组织介绍

对Feign的使用增强

主要有以下几个方面

  1. 支持默认fallback
  2. 支持不同method设置不同的retry
  3. 增加的功能对Feign已有的功能无任何影响
  4. 增加的功能对与Hystrix融合的功能无任何影响

备注

支持默认fallback

fallback当然要先开启Hystrix了,fallback不是Feign的功能。

默认fallback的意思是,不需在@FeignClient中配置fallback或fallbackFactory。默认的话可大大减少代码量。fallback的代码大部分都没有价值。

支持不同method设置不同的retryer

retryer在Feign中只支持一个Service一个retryer,那一个Service中有写接口,有读接口,那retryer的策略还是很可能不一样的,那这种场景就需要不同method上有不同的retryer了

对功能无影响

做的改动,必然对原有的所有功能无任何影响,所以开发后会有大量的Test保证这一点。当然了也需多多阅读源码,避免留坑。

增强的源码说明

以上功能点的增强需更改两个项目的源码。

  • Feign提供了所有请求的基础功能
  • 对应的Starter则开启Feign的自动装配

Feign

新增的功能点:

  • retryer可支持retryerFactory,以实现不同method创建不同retryer
  • retryer有其Default实现,retryerFactory仅为interface,仅提供该能力,并不写死
  • retryer与retryerFactory均可使用
  • 仅增强retryer的生成,对Figin的原生能力无任何影响

Openfeign Starter

新增的功能点:

  • 适配Feign的retryerFactory
  • 实现retryerFactory的自动装配
  • 实现Hystrix的fallback的默认实现
  • 实现默认fallback配置的自动装配
成就
1
Star
3
Fork
成员(1)
给个理由先

搜索帮助