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方法,返回友好提示。

 

网上找的一张图  很好

 

posted @   霸王龙168  阅读(123)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示