較底層的服務若是出現故障,會致使連鎖故障。當對特定的服務的調用的不可用達到一個閥值(Hystric 是5秒20次) 斷路器將會被打開。app
斷路打開後,可用避免連鎖故障,fallback方法能夠直接返回一個固定值。ide
Feign是自帶斷路器的,在D版本的Spring Cloud中,它沒有默認打開。須要在配置文件中配置打開它,在配置文件加如下代碼:spa
feign.hystrix.enabled=true
@FeignClient(value = "service-hi",fallback = SchedualServiceHiHystric.class)
public interface SchedualServiceHi {
@RequestMapping(value = "/hi",method = RequestMethod.GET)
String sayHiFromClientOne(@RequestParam(value = "name") String name);
}
@Component public class SchedualServiceHiHystric implements SchedualServiceHi{ @Override public String sayHiFromClientOne(String name) { return "sorry "+name; } }