目录
? ?开启客户端负载均衡
当一个服务调用另一个服务由于网络原因或自身原因出现问题,调用者就会等待被调用者的响应,当更多的服务请求到这些资源导致更多的请求等待,发生连锁效应(雪崩效应)
断路器有三种状态
打开状态:一段时间内,达到一定的此时无法调用,并且多次检测没有恢复的迹象,断路器完全打开,那么下次请求就不会请求到该服务
半开状态:短时间内,有恢复迹象,断路器会将部分请求发给该服务,正常调用时,断路器关闭。
关闭状态:当服务一直处于正常状态,能正常调用。
在分布式系统,我们一定会依赖各种服务,那么这些个服务一定会出现失败的情况,就会导致雪崩,Hystrix就是这样一个工具,防雪崩利器,它具有服务降级,服务熔断,服务隔离,监控等防止雪崩的计数。
Hytrix有四种防雪崩的方式:
服务降级:接口调用失败就调用本地的方法返回一个空。
服务熔断:接口调用失败就会进入调用接口提前定义好的一个熔断的方法,返回错误信息。
服务隔离:隔离服务之间相互影响
服务监控:在服务发生调用时,会将每秒请求数,成功请求数等运动指标记录下来。
Feign是一个声明Web服务客户端,这使得编写Web服务端更容易。
他将我们需要调用的服务方法定义成抽象方法保存在本地就可以了,不需要自己构建http请求了,直接调用接口就行了,不过要注意,调用方法要和本地抽象方法的签名完全一致。
Feign
RestTemplate