feign远程调用
在主程序入口家加@EnableFeignClients
写一个访问外部服务的接口
@FeignClient(name = "$test", fallbackFactory = testFallbackFactory.class)
public interface testClient {
@RequestMapping("/test")
int selectByAgentAndMakeCode(@RequestParam("test") String test);
}
调用出错时使用testFallbackFactory类
testFallbackFactory类
实现
FallbackFactory

熔断后抛出对应的方法调用信息,也能自己重写
feign这个叫服务降级 调用远程的超时了,调用自己本地的,返回结果,防止请求挤压导致服务器崩溃
熔断和降级的区别
1.服务降级:不管在什么情况下,服务降级的流程都是先调用正常的方法,再调用fallback的方法。 也就是服务器繁忙,请稍后再试,不让客户端等待并立刻返回一个友好提示。
2.服务熔断:假设服务宕机或者在单位时间内调用服务失败的次数过多,即服务降级的次数太多,那么则服务熔断。 并且熔断以后会跳过正常的方法,会直接调用fallback方法,即所谓“服务熔断后不可用”。 类似于家里常见的保险丝,当达到最大服务访问后,会直接拒绝访问,拉闸限电,然后调用服务降级的fallback方法,返回友好提示。
网上找的一张图 很好


浙公网安备 33010602011771号