Hystrix+Feign实现服务熔断

1.首先你得保证提供后续服务的模块A能正常返回数据

2.创建一个新的consumer去访问服务A

3.编写feign接口,并中以fallback声明降级方法 。并添加实现类,写熔断后将返回的数据

@FeignClient(name="Service-C",fallback = ServiceAFeignFallBack.class)
public interface UserServiceFeign {
    @RequestMapping(method = RequestMethod.GET,value = "user/find/{id}")
    public User findById(@PathVariable int id);
}
@Component
public class ServiceAFeignFallBack implements UserServiceFeign {
    @Override
    public User findById(int id) {
        User user = new User();
        user.setId(id);
        user.setUsername("我是服务降级Fein");
        user.setPassword("789");
        return user;
    }
}

4.在controller调用feign,通过@Autowired注入

@Autowired
    ServiceAFeignFallBack feigin;

5.在.yml 中 开启对hystrix的支持

hystrix:
    enabled: true
经验分享 程序员 微信小程序 职场和发展