1. 程式人生 > >spring cloud(二)-服務消費(Feign 斷路器)

spring cloud(二)-服務消費(Feign 斷路器)

前言

斷路器: 在分散式架構中,當某個服務單元發生故障之後,通過斷路器的故障監控,向呼叫方返回一個錯誤響應,而不是長時間的等待。這樣就不會使得執行緒因呼叫故障服務被長時間佔用不釋放,避免了故障在分散式系統中的蔓延。

1、 Feign使用Hystrix

不需要在Feigh工程中引入Hystix,Feign中已經依賴了Hystrix。 使用@FeignClient註解中的fallback屬性指定回撥類

//定義的FeignClient
@FeignClient(value = "compute-service", fallback = ClientCallBackHystrix.class)
public interface AddClient {
    @RequestMapping(method = RequestMethod.GET, value = "/add")
    Integer add(@RequestBody Test input);
}
//定義AddClient 回撥方法,定義一個class類實現AddClient 
@Component
public class ClientCallBackHystrix  implements AddClient {
    @Override
    public Integer add(@RequestBody Test input) {
        return -1;
    }
}