spring-cloud 使用openfeign实现微服务之间的调用——注意事项
一、使用步骤1:启动类添加@EnableFeignClients
启动类添加@EnableFeignClients(basePackages = {“feign接口全类名”}),配置这个basePackages的作用是,当@SpringBootApplication无法扫描到feign接口所在的包时,比如依赖了别的项目。
二、使用步骤2:feign接口添加@FeignClient(value = “服务名”)
feign接口添加@FeignClient(value = “服务名”,fallback = 降级类),一般使用feign实现微服务之间的调用需要考虑到服务雪崩的问题,所以添加fallback可以在服务调用失败后,走这个降级方法。
三、注意事项
1、需要注意的是,如果配置了服务降级,需要添加相关的配置,比如feign.sentinel.enable=true来使降级生效。
2、像第一个步骤中的问题:我们通过依赖项目实现feign接口的使用,而本项目下的扫描无法生效,似乎配置了1中的basePackages就可以了,但是当我们使用到2中的fallback时,就需要考虑将这个回调方法也引入我们当前项目。
可以使用spring的自动配置(resources/META-INF/spring-facotries)和@Import注解(不用忘了,降级类纳入到IOC容器)。